@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.2jfp7v6ns64yg.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.3h2wr6o8p949u.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.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:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.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:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.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:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.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:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f1ea;--ink:#0a0a0a;--cobalt:#0037ff;--on-cobalt:#fff;--muted:#62605a;--line:#c9c5bc;--soft:#e8e4dc;--page-gutter:clamp(1.25rem, 5vw, 5rem);--rail-width:.5rem;--rail-label-safe-top:5.75rem;--base-size:100%}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-size:var(--base-size);scroll-behavior:smooth;scrollbar-color:var(--ink) var(--paper);scrollbar-width:auto;scroll-padding-top:6rem}html[data-text-size=large]{--base-size:112.5%}html[data-text-size=larger]{--base-size:125%}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0a0a0a;--ink:#f4f1ea;--cobalt:#718dff;--on-cobalt:#0a0a0a;--muted:#aaa79f;--line:#62605a;--soft:#171613}@media (prefers-color-scheme:dark){html[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0a0a0a;--ink:#f4f1ea;--cobalt:#718dff;--on-cobalt:#0a0a0a;--muted:#aaa79f;--line:#62605a;--soft:#171613}}html[data-contrast=high]{--paper:#fff;--ink:#000;--cobalt:#0037ff;--on-cobalt:#fff;--muted:#202020;--line:#000;--soft:#eee}html[data-theme=dark][data-contrast=high]{--paper:#000;--ink:#fff;--cobalt:#8da2ff;--on-cobalt:#000;--muted:#f1f1f1;--line:#fff;--soft:#111}@media (prefers-color-scheme:dark){html[data-theme=system][data-contrast=high]{--paper:#000;--ink:#fff;--cobalt:#8da2ff;--on-cobalt:#000;--muted:#f1f1f1;--line:#fff;--soft:#111}}body{background:var(--paper);color:var(--ink);margin:0;font-family:Instrument Sans Variable,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{color:inherit;font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--cobalt);color:var(--on-cobalt)}::-webkit-scrollbar{width:1rem}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--ink);border:.22rem solid var(--paper)}:focus-visible{outline:.18rem solid var(--cobalt);outline-offset:.2rem}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--cobalt);color:var(--on-cobalt);z-index:100;padding:.8rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{background:var(--paper);border-bottom:1px solid var(--ink);isolation:isolate;min-height:4.75rem;padding:.75rem calc(var(--page-gutter) + 1.5rem) .75rem var(--page-gutter);z-index:40;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.site-header:after{background:var(--cobalt);content:"";height:.2rem;bottom:-.1rem;left:var(--page-gutter);width:clamp(2.5rem,7vw,6rem);position:absolute}.wordmark,.eyebrow,.role-label,.rail-label,.project-card-meta,.project-number,.technology-list,.note-index,.footer-meta{letter-spacing:.075em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.72rem}.wordmark{align-items:center;gap:.65rem;min-height:2.75rem;font-weight:700;display:inline-flex}.wordmark:before{background:var(--cobalt);content:"";flex:none;width:.72rem;height:.72rem}.site-header nav{align-items:center;gap:clamp(.55rem,1.6vw,1.5rem);font-size:.9rem;display:flex}.primary-nav{gap:clamp(.25rem,1.2vw,1.25rem);display:flex}.site-header nav a,.utility-button{background:0 0;border:0;align-items:center;min-height:2.75rem;padding:0 .45rem;transition:box-shadow .18s,color .18s;display:inline-flex;box-shadow:inset 0 0 #0000}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a[aria-current=page],.utility-button:hover,.utility-button:focus-visible{color:var(--cobalt)}.site-header nav a[aria-current=page],.utility-button[aria-expanded=true]{box-shadow:inset 0 -.18rem 0 var(--cobalt);color:var(--cobalt)}.language-link{font-family:IBM Plex Mono,monospace;font-size:.78rem}p{overflow-wrap:break-word}h1,h2,h3{-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.048em;overflow-wrap:normal;text-wrap:balance;margin:0;font-weight:520;line-height:.95}h1{letter-spacing:-.055em;max-width:11ch;font-family:IBM Plex Mono,monospace;font-size:clamp(3.2rem,8.5vw,8.8rem);font-weight:400;line-height:.94}h2{max-width:14ch;font-size:clamp(2.4rem,5.5vw,5.6rem)}h3{font-size:clamp(1.7rem,3vw,3rem)}.eyebrow{color:var(--cobalt);margin:0 0 2.25rem}.page-section{padding:clamp(3.75rem, 7.5vw, 7rem) calc(var(--page-gutter) + 2rem) clamp(3.75rem, 7.5vw, 7rem) var(--page-gutter)}.hero{isolation:isolate;min-height:0;padding:clamp(4rem, 7vw, 6rem) calc(var(--page-gutter) + 2rem) clamp(4rem, 7vw, 6rem) var(--page-gutter);flex-direction:column;justify-content:flex-start;display:flex;position:relative;overflow:hidden}.hero:before{background-image:linear-gradient(to bottom, transparent calc(50% - .04rem), color-mix(in srgb, var(--cobalt) 22%, transparent) calc(50% - .04rem), color-mix(in srgb, var(--cobalt) 22%, transparent) calc(50% + .04rem), transparent calc(50% + .04rem)), repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 8%, transparent) 0 .0625rem, transparent .0625rem 4rem);content:"";pointer-events:none;z-index:0;width:min(54vw,44rem);height:16rem;position:absolute;top:clamp(3rem,7vh,5.5rem);right:-2rem;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 24% 82%,#0000)}.hero:after{background:var(--cobalt);box-shadow:-4rem 0 color-mix(in srgb, var(--cobalt) 28%, transparent), -8rem 2.5rem color-mix(in srgb, var(--cobalt) 24%, transparent), -12rem 2.5rem color-mix(in srgb, var(--cobalt) 22%, transparent), -16rem 5rem color-mix(in srgb, var(--cobalt) 19%, transparent), -20rem 5rem color-mix(in srgb, var(--cobalt) 17%, transparent), -24rem 7.5rem color-mix(in srgb, var(--cobalt) 14%, transparent), -4rem 5rem color-mix(in srgb, var(--cobalt) 18%, transparent), -8rem 7.5rem color-mix(in srgb, var(--cobalt) 15%, transparent);content:"";opacity:.45;pointer-events:none;z-index:0;width:.62rem;height:.62rem;position:absolute;top:clamp(4.5rem,9vh,7rem);right:clamp(5rem,10vw,10rem)}.hero>*{z-index:1;position:relative}.hero-intro-lockup{grid-template-columns:clamp(9rem,15vw,13rem) minmax(0,1fr);align-items:end;gap:clamp(1rem,2.5vw,2.5rem);width:min(100%,92rem);display:grid}.hero-persona{align-self:end;height:clamp(11rem,18vw,15rem);position:relative}.hero-avatar{width:clamp(9rem,15vw,13rem);height:clamp(9rem,15vw,13rem);position:absolute;bottom:0;left:0}.hero-avatar img{image-rendering:pixelated;object-fit:contain;object-position:bottom left}.hero-speech{background:var(--paper);border:.16rem solid var(--ink);box-shadow:.38rem .38rem 0 var(--cobalt);letter-spacing:.035em;text-align:center;white-space:nowrap;z-index:2;min-width:8.75rem;margin:0;padding:.9rem 1rem;font-family:IBM Plex Mono,monospace;font-size:clamp(.85rem,1.15vw,1rem);line-height:1;position:absolute;top:-1.25rem;left:clamp(1.75rem,3vw,2.75rem)}.hero-speech:before{background:var(--ink);content:"";width:.72rem;height:.72rem;position:absolute;bottom:-.72rem;left:.9rem}.hero-speech:after{background:var(--paper);content:"";width:.44rem;height:.48rem;position:absolute;bottom:-.45rem;left:1.04rem}.hero-intro{color:var(--cobalt);max-width:13ch;font-size:clamp(3.5rem,8.2vw,8.2rem)}.hero-statement{letter-spacing:-.038em;max-width:18ch;margin:2rem 0 0;font-size:clamp(1.8rem,3.7vw,4rem);font-weight:500;line-height:1.02}.role-label{color:var(--cobalt);margin:1.65rem 0 0}.hero-copy{max-width:36rem;margin:.65rem 0 2.5rem;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.35}.text-link{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;width:min(100%,15rem);min-height:2.75rem;font-size:.92rem;display:flex}.text-link:hover,.text-link:focus-visible{border-color:var(--cobalt);color:var(--cobalt)}.text-link-primary{background:var(--cobalt);border-color:var(--cobalt);color:var(--on-cobalt);padding-inline:.9rem}.text-link-primary:hover,.text-link-primary:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)}.featured-projects{border-top:1px solid var(--line)}.section-heading{grid-template-columns:minmax(9rem,.35fr) 1fr;gap:1.5rem;display:grid}.section-heading h2{max-width:13ch}.featured-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.65rem,1vw,1rem);margin-top:clamp(3.5rem,7vw,7rem);display:grid}.featured-grid .project-card:first-child{grid-column:span 5}.featured-grid .project-card:nth-child(2){grid-column:span 3}.featured-grid .project-card:nth-child(3){grid-column:span 4}.section-link{margin-top:3rem}.project-card{background:var(--paper);border:1px solid var(--line);min-width:0;transition:border-color .18s,transform .18s;position:relative;container-type:inline-size}.project-card:after{background:var(--cobalt);content:"";pointer-events:none;width:.16rem;height:2.75rem;transition:height .22s cubic-bezier(.2,.75,.25,1);position:absolute;bottom:.8rem;right:.8rem}.project-card>a{flex-direction:column;min-height:clamp(12rem,18vw,15.5rem);padding:clamp(1rem,2vw,1.55rem);display:flex;position:relative}.project-card-meta{justify-content:space-between;display:flex}.project-card-meta span:first-child{color:var(--cobalt)}.project-card-title{letter-spacing:-.055em;max-width:100%;margin:clamp(1.4rem,4cqw,2.2rem) 0 0;font-family:IBM Plex Mono,monospace;font-size:clamp(1.75rem,7cqw,4.2rem);font-weight:400;line-height:.92;transition:color .18s}.project-card p{color:var(--muted);max-width:38rem;margin:.75rem 2rem 1.5rem 0;font-size:clamp(.88rem,2.7cqw,1.05rem);line-height:1.35}.project-card-footer{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:auto;padding-right:1.15rem;display:flex}.project-card-technologies{letter-spacing:.045em;text-transform:uppercase;flex-wrap:wrap;gap:.35rem .8rem;margin:0;padding:0;font-family:IBM Plex Mono,monospace;font-size:.62rem;list-style:none;display:flex}.project-card-technologies li:not(:last-child):after{color:var(--cobalt);content:"·";margin-left:.8rem}.card-arrow{flex:none;font-size:1.25rem;line-height:1;transition:transform .18s}.project-card:hover,.project-card:focus-within{border-color:var(--cobalt);transform:translateY(-.2rem)}.project-card:hover:after,.project-card:focus-within:after{height:calc(100% - 1.6rem)}.project-card a:hover .project-card-title,.project-card a:focus-visible .project-card-title{color:var(--cobalt)}.project-card a:hover .card-arrow,.project-card a:focus-visible .card-arrow{transform:translate(.15rem,-.15rem)}.page-hero,.project-hero{padding:clamp(3.5rem, 7vw, 6rem) calc(var(--page-gutter) + 2rem) clamp(3rem, 6vw, 5rem) var(--page-gutter);flex-direction:column;align-items:flex-start;display:flex;position:relative;overflow:hidden}.page-hero{justify-content:flex-start;min-height:0}.page-hero-illustrated{grid-template-columns:minmax(0,1fr) clamp(9rem,22vw,20rem);align-items:end;gap:clamp(2rem,5vw,5rem);display:grid}.page-hero-copy{min-width:0}.pixel-hero-art{aspect-ratio:4/3;place-self:center end;width:min(100%,20rem);position:relative}.pixel-hero-art img{image-rendering:pixelated;object-fit:contain}.pixel-hero-art-career{width:min(78%,14rem)}.projects-hero{isolation:isolate;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.65fr);align-items:end;gap:1.25rem clamp(2rem,6vw,6rem);padding-top:clamp(2.75rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4rem);display:grid}.projects-hero .eyebrow{grid-column:1/-1;margin-bottom:.5rem}.projects-hero h1{grid-column:1/-1;font-size:clamp(3.2rem,7vw,7.2rem)}.patterned-hero{isolation:isolate}.patterned-hero:before{background-image:linear-gradient(90deg, transparent calc(62% - .04rem), color-mix(in srgb, var(--cobalt) 20%, transparent) calc(62% - .04rem), color-mix(in srgb, var(--cobalt) 20%, transparent) calc(62% + .04rem), transparent calc(62% + .04rem)), repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 7%, transparent) 0 .0625rem, transparent .0625rem 3.25rem);content:"";pointer-events:none;z-index:0;width:min(52vw,42rem);height:16rem;position:absolute;top:1.5rem;right:-2rem;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.patterned-hero:after{background:var(--cobalt);box-shadow:0 3rem color-mix(in srgb, var(--cobalt) 28%, transparent), -3rem 6rem color-mix(in srgb, var(--cobalt) 24%, transparent), -3rem 9rem color-mix(in srgb, var(--cobalt) 20%, transparent), -6rem 12rem color-mix(in srgb, var(--cobalt) 16%, transparent), 3rem 9rem color-mix(in srgb, var(--cobalt) 14%, transparent);content:"";opacity:.38;pointer-events:none;z-index:0;width:.58rem;height:.58rem;position:absolute;top:2.5rem;right:clamp(4rem,8vw,8rem)}.project-hero{isolation:isolate;justify-content:flex-start;min-height:0}.page-hero>*,.project-hero>*{z-index:1;position:relative}.page-hero h1{max-width:16ch}.page-hero>p:not(.eyebrow),.page-hero-copy>p:not(.eyebrow),.project-summary{max-width:38rem;margin:2rem 0 0;font-size:clamp(1.2rem,2vw,1.65rem)}.page-section,.project-lead-media{position:relative}.page-section:before,.project-lead-media:before{background:var(--cobalt);content:"";width:clamp(2.5rem,7vw,6rem);height:.18rem;position:absolute;top:0;left:0}.project-index{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.65rem,1vw,1rem);padding-top:clamp(2.5rem,5vw,4rem);display:grid}.project-index .project-card:nth-child(7n+1),.project-index .project-card:nth-child(7n+2){grid-column:span 6}.project-index .project-card:nth-child(7n+3){grid-column:span 8}.project-index .project-card:nth-child(7n+4),.project-index .project-card:nth-child(7n+5),.project-index .project-card:nth-child(7n+6),.project-index .project-card:nth-child(7n+7){grid-column:span 4}.project-number{justify-content:space-between;width:min(100%,52rem);margin-bottom:2.5rem;display:flex}.project-hero h1{-webkit-hyphens:none;hyphens:none;overflow-wrap:normal;max-width:14ch;font-size:clamp(2rem,8.5vw,8.8rem)}.technology-list{flex-wrap:wrap;gap:.6rem 1.2rem;margin:2.5rem 0 0;padding:0;list-style:none;display:flex}.technology-list li:before{color:var(--cobalt);content:"■";margin-right:.5rem}.project-lead-media{padding:var(--page-gutter) calc(var(--page-gutter) + 2rem) var(--page-gutter) var(--page-gutter);margin:0}.project-lead-media>div{aspect-ratio:16/8.5;background:var(--soft);position:relative;overflow:hidden}.project-lead-media img{object-fit:cover}.project-lead-media figcaption,.prose figcaption{color:var(--muted);margin-top:.6rem;font-size:.82rem}.project-body{grid-template-columns:minmax(18rem,44rem) minmax(0,1fr);display:grid}.project-body .prose{grid-column:1}.project-body .prose h2+ul{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;padding:0;list-style:none;display:grid}.project-body .prose h2+ul li{border-bottom:1px solid var(--line);min-height:4.5rem;padding:1rem 1rem 1rem 1.75rem;position:relative}.project-body .prose h2+ul li:nth-child(odd){border-right:1px solid var(--line)}.project-body .prose h2+ul li:before{background:var(--cobalt);content:"";width:.45rem;height:.45rem;position:absolute;top:1.48rem;left:.25rem}.project-links{border-top:1px solid var(--line)}.project-links h2{margin-bottom:3rem}.link-list{border-top:1px solid var(--ink);max-width:58rem;margin-bottom:4rem}.link-list a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:4.5rem;font-size:clamp(1.4rem,3vw,2.6rem);display:flex}.link-list a:hover,.link-list a:focus-visible{color:var(--cobalt)}.reading-content{grid-template-columns:minmax(18rem,44rem) minmax(0,1fr);display:grid}.reading-content>*,.reading-content>.related-projects{grid-column:1}.prose{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.62}.prose>:first-child{margin-top:0}.prose h2{margin:5rem 0 1.5rem;font-size:clamp(2.15rem,4vw,4.2rem)}.prose h3{margin:3rem 0 1rem;font-size:clamp(1.5rem,2.4vw,2.5rem)}.prose p,.prose ul,.prose ol{margin:0 0 1.4rem}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--cobalt);text-decoration-color:var(--cobalt);text-underline-offset:.18em}.prose blockquote{border-left:.5rem solid var(--cobalt);margin:3rem 0;padding:.5rem 0 .5rem 1.5rem}.prose blockquote p{font-size:1.35em}.content-image{aspect-ratio:16/10;position:relative;overflow:hidden}.content-image img{object-fit:cover}.content-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:3rem 0;display:grid}.content-facts{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;margin:3rem 0;display:grid}.content-facts dt,.content-facts dd{border-bottom:1px solid var(--line);margin:0;padding:.85rem 0}.content-facts dt{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.75rem}.content-links{flex-wrap:wrap;gap:1rem;margin:2rem 0;display:flex}.content-links a,.opt-out-control button{border:1px solid var(--ink);min-height:2.75rem;padding:.7rem 1rem;text-decoration:none;display:inline-flex}.content-links a:hover,.content-links a:focus-visible,.opt-out-control button:hover,.opt-out-control button:focus-visible{background:var(--cobalt);border-color:var(--cobalt);color:var(--on-cobalt)}.prose audio,.prose video{width:100%;max-width:100%}.about-hero{justify-content:flex-start;min-height:0;padding-top:clamp(4rem,8vw,7rem);padding-bottom:2rem}.about-story{padding-top:3rem;padding-bottom:clamp(3rem,6vw,5rem)}.notes-index{padding-top:2rem}.note-row{border-top:1px solid var(--ink)}.note-row:last-child{border-bottom:1px solid var(--ink)}.note-row>a{grid-template-columns:3rem 1fr auto;align-items:start;gap:1.5rem;min-height:10rem;padding:1.5rem 0;display:grid}.note-row h2{max-width:17ch;font-size:clamp(2rem,4vw,4.6rem)}.note-row p{color:var(--muted);max-width:40rem;margin:1rem 0 0}.note-row time{font-family:IBM Plex Mono,monospace;font-size:.72rem}.note-row a:hover h2,.note-row a:focus-visible h2{color:var(--cobalt)}.note-detail .page-hero h1{max-width:20ch}.related-projects{background:color-mix(in srgb, var(--soft) 68%, var(--paper));border-left:.25rem solid var(--cobalt);gap:.65rem;margin:4rem 0 1.25rem;padding:1.25rem 1.5rem 1.4rem;display:grid}.related-projects h2{color:var(--cobalt);letter-spacing:.075em;text-transform:uppercase;max-width:none;margin:0;font-family:IBM Plex Mono,monospace;font-size:.72rem}.related-projects a{justify-content:flex-start;align-items:center;gap:.75rem;width:fit-content;min-height:2.75rem;font-family:IBM Plex Mono,monospace;font-size:clamp(1.2rem,2.2vw,1.65rem);display:inline-flex}.related-projects a:hover,.related-projects a:focus-visible{color:var(--cobalt)}.note-back-link{justify-content:flex-start;gap:.65rem;margin-top:.5rem}.career-graph-section{padding-top:3rem}.career-path{scroll-margin-top:6rem}.career-path-intro{padding-top:clamp(3.5rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}.career-path-intro h2{letter-spacing:-.055em;overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:clamp(3.2rem,7vw,7.2rem);font-weight:400;line-height:.94}.career-graph-shell{display:block}.career-graph-desktop{aspect-ratio:900/560;min-height:30rem;position:relative}.career-graph-desktop svg,.career-node-layer{width:100%;height:100%;position:absolute;inset:0}.career-skill-zone{background:var(--soft);pointer-events:none;height:34%;padding:.65rem .8rem;position:absolute;bottom:.5rem;left:0;right:0}.career-lane-label{color:var(--cobalt);letter-spacing:.075em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.62rem}.career-station-label{position:absolute;top:1rem;left:1rem}.career-edge{stroke:var(--line);stroke-width:1px}.career-edge-path{stroke:var(--cobalt);stroke-width:2.25px}.career-edge-skill{stroke-dasharray:4 5}.career-node{background:var(--paper);border:1px solid var(--ink);white-space:nowrap;z-index:2;min-width:2.75rem;min-height:2.75rem;padding:.45rem .7rem;transition:color .16s,background .16s,transform .18s;position:absolute;transform:translate(-50%,-50%)}.career-node span{letter-spacing:.02em;font-family:IBM Plex Mono,monospace;font-size:.62rem}.career-node-main,.career-node-education{border-width:2px}.career-node-satellite{border-color:var(--muted)}.career-node-skill{background:var(--paper);border-color:var(--muted);border-style:dashed}.career-node[aria-pressed=true],.career-node:hover,.career-node:focus-visible{background:var(--cobalt);border-color:var(--cobalt);color:var(--on-cobalt);border-style:solid;transform:translate(-50%,-50%)scale(1.04)}.career-detail{background:var(--paper);border:1px solid var(--ink);box-shadow:.45rem .45rem 0 var(--cobalt);pointer-events:none;z-index:5;width:19rem;max-width:calc(100% - 2rem);padding:1rem 1.1rem;position:absolute;transform:translate(1rem,-50%)}.career-detail[data-side=left]{transform:translate(calc(-100% - 1rem),-50%)}.career-detail .eyebrow{margin-bottom:.75rem}.career-detail h2{font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:.98}.career-detail>p:last-child{margin-bottom:0;font-size:.92rem}.career-organization{margin:.65rem 0 1rem;font-weight:650}.career-linear{margin:0;padding:0;list-style:none;display:none}.career-linear li{border-top:1px solid var(--ink);padding:1.5rem 0 2rem}.career-linear li[data-node-type=skill]{border-top-style:dashed}.career-linear li>p:first-child{color:var(--cobalt);font-family:IBM Plex Mono,monospace;font-size:.72rem}.career-linear h2{overflow-wrap:anywhere;margin-bottom:.5rem;font-size:2rem}.career-context{border-top:0}.career-context>p{letter-spacing:-.03em;max-width:30ch;font-size:clamp(1.4rem,2.8vw,2.8rem);line-height:1.1}.career-context .text-link{margin-top:3rem}.legal-hero{padding-top:clamp(2.75rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}.legal-hero h1{-webkit-hyphens:none;hyphens:none;font-size:clamp(2.75rem,7vw,7.2rem)}.legal-page .prose{font-size:1rem}.legal-page .prose h2{margin-top:3.5rem;font-size:clamp(1.6rem,3vw,2.8rem)}.opt-out-control{border:.25rem solid var(--cobalt);margin-top:4rem;padding:1.5rem}.opt-out-control button{background:0 0}.a11y-control{position:relative}.a11y-panel{background:var(--paper);border:.15rem solid var(--ink);box-shadow:.5rem .5rem 0 var(--cobalt);z-index:50;width:min(22rem,100vw - 2rem);padding:1rem;position:absolute;top:calc(100% + .5rem);right:0}.a11y-panel-heading{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.a11y-panel-heading button{background:0 0;border:0;min-width:2.75rem;min-height:2.75rem;font-size:1.5rem}.choice-group{border:0;border-top:1px solid var(--line);margin:0;padding:.85rem 0}.choice-group legend{text-transform:uppercase;padding-top:.85rem;font-family:IBM Plex Mono,monospace;font-size:.68rem}.choice-group>div{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.choice-group button{border:1px solid var(--ink);background:0 0;min-height:2.75rem;padding:.5rem .7rem}.choice-group button[aria-pressed=true]{background:var(--cobalt);border-color:var(--cobalt);color:var(--on-cobalt)}.index-rail{background:var(--line);width:var(--rail-width);z-index:60;position:fixed;top:0;bottom:0;right:0}.rail-current{pointer-events:none;transition:height 90ms linear;position:absolute;top:0;left:0;right:0}.rail-progress{background:var(--cobalt);z-index:1;position:absolute;inset:0}.rail-marker{cursor:grab;pointer-events:auto;touch-action:none;z-index:3;background:0 0;border:0;width:2.75rem;height:2.75rem;padding:0;position:absolute;top:calc(100% - .875rem);right:0}.rail-marker:after{background:var(--cobalt);border:.12rem solid var(--paper);content:"";width:1rem;height:1rem;position:absolute;top:50%;right:0;transform:translateY(-50%)}.rail-marker:active{cursor:grabbing}.rail-marker:focus-visible{outline-color:var(--ink);outline-offset:-.1rem}.rail-label{color:var(--cobalt);white-space:nowrap;transition:top 90ms linear;position:absolute;right:1.75rem}.navigation-wipe{background:var(--cobalt);pointer-events:none;z-index:55;position:fixed;inset:0;transform:translate(100%)}.navigation-wipe[data-phase=covering]{animation:.38s cubic-bezier(.7,0,.3,1) forwards wipe-cover}.navigation-wipe[data-phase=revealing]{animation:.38s cubic-bezier(.7,0,.3,1) forwards wipe-reveal}@keyframes wipe-cover{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes wipe-reveal{0%{transform:translate(0)}to{transform:translate(-100%)}}.site-footer{border-top:1px solid var(--line);padding:3rem calc(var(--page-gutter) + 2rem) 1.5rem var(--page-gutter)}.footer-statement{color:var(--muted);letter-spacing:-.02em;max-width:32ch;margin:0 0 2rem;font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:500;line-height:1.25}.footer-links{flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.82rem;display:flex}.footer-links a{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;min-height:2.75rem;display:inline-flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--cobalt)}.footer-meta{color:var(--muted);margin:.75rem 0 0;font-size:.62rem}@media (max-width:64rem){.featured-grid,.project-index{grid-template-columns:repeat(6,minmax(0,1fr))}.featured-grid .project-card:first-child,.featured-grid .project-card:nth-child(2){grid-column:span 3}.featured-grid .project-card:nth-child(3){grid-column:span 6}.project-index .project-card:nth-child(n){grid-column:span 3}.project-index .project-card:last-child:nth-child(odd){grid-column:span 6}.project-body,.reading-content{grid-template-columns:minmax(0,1fr)}.project-body .prose,.reading-content>*,.reading-content>.related-projects{grid-column:1}}@media (max-width:48rem){html{scroll-padding-top:8rem}.site-header{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.site-header nav{display:contents}.wordmark{grid-area:1/1}.a11y-control{grid-area:1/2}.language-link{grid-area:1/3}.primary-nav{grid-area:2/1/auto/-1;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:.15rem;display:grid}.primary-nav a{padding-inline:.2rem;font-size:.82rem}.hero{min-height:0;padding-top:3.5rem;padding-bottom:4rem}.hero:before{width:85vw;height:11rem;top:2rem;right:-3rem}.hero:after{box-shadow:-2.5rem 0 color-mix(in srgb, var(--cobalt) 26%, transparent), -5rem 2.5rem color-mix(in srgb, var(--cobalt) 22%, transparent), -7.5rem 2.5rem color-mix(in srgb, var(--cobalt) 18%, transparent), -10rem 5rem color-mix(in srgb, var(--cobalt) 14%, transparent);opacity:.32;top:3rem;right:3rem}.hero-intro-lockup{grid-template-columns:1fr;align-items:start}.hero-persona{width:9rem;min-height:9rem}.hero-avatar{width:8rem;height:8rem}.hero-speech{left:2rem}.hero-intro{font-size:clamp(3.5rem,14.5vw,6.2rem)}.hero-statement{font-size:clamp(1.75rem,8vw,3.2rem)}.section-heading,.featured-grid,.project-index{grid-template-columns:1fr}.featured-grid .project-card:nth-child(n),.project-index .project-card:nth-child(n){grid-column:1}.project-card>a{min-height:12rem}.projects-hero{grid-template-columns:1fr}.patterned-hero:before{width:88vw;height:10rem;top:1rem;right:-3rem}.patterned-hero:after{box-shadow:0 2.5rem color-mix(in srgb, var(--cobalt) 24%, transparent), -2.5rem 5rem color-mix(in srgb, var(--cobalt) 18%, transparent), -5rem 7.5rem color-mix(in srgb, var(--cobalt) 13%, transparent);opacity:.28;top:2rem;right:3rem}.projects-hero .eyebrow{grid-column:1}.page-hero-illustrated{grid-template-columns:1fr;align-items:start}.pixel-hero-art{justify-self:start;width:min(52vw,11rem)}.pixel-hero-art-career{width:min(42vw,9rem)}.page-hero,.project-hero{min-height:0;padding-right:calc(var(--page-gutter) + 5.5rem)}.note-row>a{grid-template-columns:2rem 1fr}.note-row time{grid-column:2}.career-graph-desktop,.career-detail{display:none}.career-linear{display:grid}.content-gallery,.project-body .prose h2+ul{grid-template-columns:1fr}.project-body .prose h2+ul li:nth-child(odd){border-right:0}.rail-label{display:none}}@media (max-width:28rem){.site-header,.page-section,.hero,.site-footer{padding-left:1rem;padding-right:1.75rem}.page-hero,.project-hero{padding-left:1rem;padding-right:4.5rem}.project-lead-media{padding-left:1rem;padding-right:1.75rem}.hero-intro{font-size:clamp(3rem,14vw,4.2rem)}.project-card-technologies{max-width:85%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.navigation-wipe{display:none}.project-card:hover,.project-card:focus-within{transform:none}}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-motion=reduce] .navigation-wipe{display:none}html[data-motion=reduce] .project-card:hover,html[data-motion=reduce] .project-card:focus-within{transform:none}@media (forced-colors:active){.project-card{border-color:canvastext}.project-card:after{background:highlight}}
