@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");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-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");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-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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 Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_24478b6f-module__tBEYLa__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_24478b6f-module__tBEYLa__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.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:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.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:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.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:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.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:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.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:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.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:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.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:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.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:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.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_6a49ad5e-module__fo1kJa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_6a49ad5e-module__fo1kJa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_88c718ca-module__iOI3uW__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_88c718ca-module__iOI3uW__variable{--font-editorial:"Newsreader", "Newsreader Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f0ece3;--paper-secondary:#ddd5c8;--ink:#191916;--ink-muted:#5f5a51;--accent:#bb3d1c;--night:#191a17;--night-ink:#f3eee5;--line:#b9b0a1;--line-strong:#191916;--font-display:var(--font-editorial);--font-body:var(--font-plex-sans);--font-mono:var(--font-plex-mono);--page-gutter:clamp(1.125rem, 4vw, 3rem);--section-space:clamp(4rem, 9vw, 8rem);--content-width:78rem;--text-width:46rem;--focus:3px solid var(--accent);--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (min-width:1800px){:root{--content-width:clamp(78rem, calc(45vw + 27.375rem), 100rem)}}
.editorial-section{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding-block:var(--section-space);border-bottom:1px solid var(--line-strong);margin-inline:auto;scroll-margin-top:5rem}.section-label{color:var(--ink);font-family:var(--font-body), sans-serif;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.625rem;margin:0;font-size:.75rem;font-weight:500;line-height:1.4;display:flex}.section-label:before{content:"";background:var(--accent);flex:0 0 .75rem;height:2px}.section-label--night{color:var(--night-ink)}.editorial-link{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out);justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:500;line-height:1.2;display:inline-flex}.editorial-link:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-1px)}.editorial-link--primary{border-color:var(--ink);background:var(--ink);color:var(--night-ink)}.editorial-link--primary:hover{background:var(--accent);color:var(--night-ink)}.editorial-link--night{border-color:color-mix(in srgb, var(--night-ink) 42%, transparent);color:var(--night-ink)}.editorial-link--night:hover{background:var(--night-ink);color:var(--night)}.home-section-heading{width:min(var(--content-width), 100%);padding:var(--section-space) var(--page-gutter) clamp(2.5rem, 5vw, 4.5rem);margin-inline:auto}.home-section-heading h2,.portfolio-preview__heading h2,.build-approach h2,.contact-section h2{letter-spacing:-.04em;max-width:14ch;margin-top:1rem;font-size:clamp(2.75rem,5.2vw,5.25rem);line-height:.96}.home-section-heading--split{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end;gap:clamp(2rem,6vw,6rem);padding-inline:0;display:grid}.home-section-heading--split>p{max-width:34rem;margin:0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55}.career-hero{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.65fr) minmax(16rem,.65fr);min-height:min(48rem,100vh - 4rem);display:grid}.career-hero__main{padding:var(--section-space) var(--page-gutter) 3rem;border-right:1px solid var(--line-strong);flex-direction:column;justify-content:center;display:flex}.career-hero h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.7rem,7.4vw,7rem);font-weight:500;line-height:.92}.career-hero .section-label{margin-bottom:clamp(1.5rem,3vw,2.75rem)}.career-hero__introduction{gap:.55rem;max-width:45rem;margin-top:clamp(2rem,4vw,3.75rem);display:grid}.career-hero__introduction p{color:var(--ink);margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.52}.career-hero__introduction p+p{color:var(--ink-muted)}.career-hero__actions,.contact-section__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.career-hero__profile{background:var(--paper-secondary);flex-direction:column;justify-content:flex-end;padding:2.25rem 1.75rem;display:flex}.career-hero__profile-label,.career-hero__profile dt,.experience-row__dates,.portfolio-feature__meta,.portfolio-project-list__copy>span,.portfolio-feature figcaption,.contact-section__roles>p{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:500;line-height:1.4}.career-hero__profile-label{color:var(--ink);margin:0 0 2rem}.career-hero__profile dl{margin:0}.career-hero__profile dl>div{border-top:1px solid color-mix(in srgb, var(--ink) 25%, transparent);padding:1.1rem 0}.career-hero__profile dt{color:var(--ink)}.career-hero__profile dd{color:var(--ink);margin:.45rem 0 0;font-size:.975rem;line-height:1.5}.capabilities-section,.experience-section,.portfolio-preview,.contact-section{scroll-margin-top:4rem}.capabilities-section{border-bottom:1px solid var(--line-strong)}.competency-grid{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.competency-grid article{min-width:0;padding:2rem var(--page-gutter);border-right:1px solid var(--line)}.competency-grid article:last-child{border-right:0}.competency-grid__index{color:var(--accent);letter-spacing:.08em;margin-bottom:clamp(3rem,7vw,6rem);font-size:.75rem;font-weight:500;display:block}.competency-grid h3{letter-spacing:-.035em;max-width:12ch;font-size:clamp(2rem,3.2vw,3.25rem)}.competency-grid p{max-width:29rem;margin:1.25rem 0 0;line-height:1.6}.competency-grid ul,.experience-list,.experience-row__results,.portfolio-project-list,.build-approach ul,.contact-section__roles ul{margin:0;padding:0;list-style:none}.competency-grid ul{border-top:1px solid var(--line);gap:.5rem;margin-top:1.75rem;padding-top:1rem;display:grid}.competency-grid li{color:var(--ink);font-size:.875rem;line-height:1.4}.experience-section{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding-bottom:var(--section-space);margin-inline:auto}.experience-row{border-top:1px solid var(--line);grid-template-columns:13rem 1fr 10rem;gap:2rem;padding:2rem 0;display:grid}.experience-list>li:last-child .experience-row{border-bottom:1px solid var(--line-strong)}.experience-row__company,.experience-row__dates,.experience-row__body p{margin:0}.experience-row__company{color:var(--ink);font-size:1.05rem;font-weight:500}.experience-row__dates{color:var(--ink-muted);margin-top:.5rem}.experience-row h3{letter-spacing:-.03em;font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.05}.experience-row__body p{max-width:44rem;margin-top:1rem;line-height:1.65}.experience-row__results{align-content:start;gap:.75rem;display:grid}.experience-row__results li{border-top:1px solid var(--line);color:var(--ink);padding-top:.75rem;font-size:.82rem;font-weight:500;line-height:1.35}.portfolio-preview{background:var(--night);color:var(--night-ink)}.portfolio-preview__inner{width:min(var(--content-width), 100%);padding:var(--section-space) var(--page-gutter);margin-inline:auto}.portfolio-preview__heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:clamp(3rem,7vw,6rem);display:grid}.portfolio-preview__heading h2,.portfolio-feature h3{color:var(--night-ink)}.portfolio-preview__heading h2{max-width:15ch}.portfolio-preview__composition{grid-template-columns:minmax(0,1.65fr) minmax(18rem,.65fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.portfolio-feature>a{display:block}.portfolio-feature figure{margin:0}.portfolio-feature__media{border:1px solid color-mix(in srgb, var(--night-ink) 36%, transparent);background-color:#25251f;background-image:linear-gradient(#191a171f,#191a17d1),repeating-linear-gradient(90deg,#0000 0 12.4%,#f3eee514 12.5%);background-position:50%;background-size:cover;align-items:end;min-height:clamp(19rem,42vw,34rem);display:grid;position:relative;overflow:hidden}.portfolio-feature__media:before{content:"";border:1px solid color-mix(in srgb, var(--night-ink) 20%, transparent);pointer-events:none;position:absolute;inset:clamp(1rem,2vw,2rem)}.portfolio-feature__media-fallback{z-index:1;background:color-mix(in srgb, var(--night) 90%, transparent);max-width:35rem;margin:clamp(1rem,2vw,2rem);padding:1.1rem 1.25rem 1.25rem;position:relative}.portfolio-feature__media-fallback span{color:var(--night-ink);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:500}.portfolio-feature__media-fallback strong{color:var(--night-ink);font-family:var(--font-display), serif;margin-top:.55rem;font-size:clamp(1.8rem,4vw,3rem);font-weight:500;line-height:1;display:block}.portfolio-feature__media-fallback p{color:color-mix(in srgb, var(--night-ink) 78%, var(--night));margin:.75rem 0 0;line-height:1.5}.portfolio-feature figcaption{color:color-mix(in srgb, var(--night-ink) 68%, var(--night));text-transform:none;margin-top:.75rem}.portfolio-feature__copy{padding-top:2rem}.portfolio-feature__meta{color:var(--night-ink);flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.portfolio-feature h3{letter-spacing:-.04em;margin-top:.9rem;font-size:clamp(2.75rem,5vw,5rem)}.portfolio-feature__copy>p{max-width:49rem;color:color-mix(in srgb, var(--night-ink) 76%, var(--night));margin:1rem 0 0;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.55}.portfolio-feature__copy>strong{border-top:1px solid color-mix(in srgb, var(--night-ink) 25%, transparent);max-width:52rem;color:var(--night-ink);margin-top:1.4rem;padding-top:1rem;font-size:.82rem;font-weight:500;line-height:1.5;display:block}.portfolio-project-list{border-top:1px solid color-mix(in srgb, var(--night-ink) 38%, transparent)}.portfolio-project-list>li{border-bottom:1px solid color-mix(in srgb, var(--night-ink) 26%, transparent)}.portfolio-project-list a{min-height:44px;color:var(--night-ink);transition:color .16s var(--ease-out), transform .16s var(--ease-out);grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.35rem 0;display:grid}.portfolio-project-list a:hover{color:var(--night-ink);transform:translate(4px)}.portfolio-project-list__index,.portfolio-project-list a>span:last-child{color:var(--accent-on-night);font-size:.75rem}.portfolio-project-list__copy{gap:.4rem;display:grid}.portfolio-project-list__copy>span{color:color-mix(in srgb, var(--night-ink) 72%, var(--night))}.portfolio-project-list__copy strong{color:var(--night-ink);font-family:var(--font-display), serif;font-size:clamp(1.55rem,2.5vw,2.2rem);font-weight:500;line-height:1}.portfolio-project-list__copy small{color:color-mix(in srgb, var(--night-ink) 68%, var(--night));font-size:.875rem;line-height:1.5;display:block}.build-approach{border-bottom:1px solid var(--line-strong);grid-template-columns:1fr 1fr;display:grid}.build-approach__heading,.build-approach__body{padding:var(--section-space) var(--page-gutter)}.build-approach__heading{border-right:1px solid var(--line-strong)}.build-approach__heading h2{max-width:10ch}.build-approach__body{background:var(--paper-secondary)}.build-approach__disclosure{max-width:45rem;color:var(--ink);font-family:var(--font-display), serif;letter-spacing:-.025em;margin:0;font-size:clamp(1.65rem,2.8vw,2.7rem);line-height:1.16}.build-approach__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:clamp(3rem,7vw,6rem);display:grid}.build-approach__details>div{border-top:1px solid color-mix(in srgb, var(--ink) 30%, transparent);padding-top:1rem}.build-approach__details h3{font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:500;line-height:1.4}.build-approach__details ul{gap:.7rem;margin-top:1rem;display:grid}.build-approach__details li{color:var(--ink);font-size:.9rem;line-height:1.45}.contact-section{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding:var(--section-space) 0;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);margin-inline:auto;display:grid}.contact-section__main{padding-right:clamp(2rem,7vw,7rem)}.contact-section h2{max-width:12ch}.contact-section__main>p:not(.section-label){max-width:42rem;margin:2rem 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6}.contact-section__roles{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--paper-secondary);align-self:end;padding:1.75rem}.contact-section__roles>p{color:var(--ink);margin:0}.contact-section__roles ul{margin-top:1rem}.contact-section__roles li{border-top:1px solid color-mix(in srgb, var(--ink) 24%, transparent);color:var(--ink);padding:.8rem 0;line-height:1.4}@media (max-width:1040px){.home-section-heading--split{width:100%;padding-inline:var(--page-gutter)}.experience-section{width:100%}.experience-list{padding-inline:var(--page-gutter)}.experience-row{grid-template-columns:11rem 1fr 9rem}.portfolio-preview__composition{grid-template-columns:1fr}.portfolio-project-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-project-list>li:nth-child(odd){border-right:1px solid color-mix(in srgb, var(--night-ink) 26%, transparent);padding-right:1.5rem}.portfolio-project-list>li:nth-child(2n){padding-left:1.5rem}}@media (max-width:800px){.career-hero,.build-approach{grid-template-columns:1fr}.career-hero__main{border-right:0;border-bottom:1px solid var(--line-strong)}.career-hero__profile{padding:1.5rem var(--page-gutter)}.career-hero__profile-label{margin-bottom:.75rem}.career-hero__profile dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;display:grid}.career-hero__profile dl>div:last-child{grid-column:1/-1}.home-section-heading--split,.portfolio-preview__heading,.contact-section{grid-template-columns:1fr}.home-section-heading--split{gap:1.5rem}.competency-grid{grid-template-columns:1fr}.competency-grid article{padding:2rem var(--page-gutter);border-right:0;border-bottom:1px solid var(--line)}.competency-grid article:last-child{border-bottom:0}.competency-grid__index{margin-bottom:2.25rem}.experience-row{grid-template-columns:1fr;gap:.75rem}.experience-row__body{padding-block:.75rem}.experience-row__results{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.portfolio-preview__heading{align-items:start}.portfolio-preview__heading .editorial-link{justify-self:start}.portfolio-project-list{grid-template-columns:1fr}.portfolio-project-list>li:nth-child(n){border-right:0;padding-inline:0}.build-approach__heading{border-right:0;border-bottom:1px solid var(--line-strong)}.contact-section{gap:3.5rem}.contact-section__main{padding-right:0}}@media (max-width:560px){.career-hero__main{padding-top:4rem}.career-hero__actions,.contact-section__actions{flex-direction:column}.career-hero__profile dl{grid-template-columns:1fr}.career-hero__profile dl>div:last-child{grid-column:auto}.experience-row__results,.build-approach__details{grid-template-columns:1fr}.experience-row__results{gap:0}.portfolio-feature__media{min-height:17rem}.portfolio-feature__media-fallback{margin:.75rem}}@media (min-width:1800px){.home-section-heading h2,.portfolio-preview__heading h2,.build-approach h2,.contact-section h2{font-size:6rem}.capabilities-section .home-section-heading,.experience-section .home-section-heading{padding-block:4.75rem 2.75rem}.experience-section .home-section-heading h2{max-width:16ch}.contact-section h2{max-width:14ch}.experience-row{padding-block:1.75rem}.portfolio-preview__inner{padding-block:6rem}.portfolio-preview__heading{margin-bottom:4.5rem}.portfolio-feature__media{min-height:40rem}.build-approach__heading,.build-approach__body{padding-block:5rem}.build-approach__details{margin-top:4rem}.contact-section{padding-block:5rem}}@media (prefers-reduced-motion:reduce){.editorial-link,.portfolio-project-list a{transition:none}.editorial-link:hover,.portfolio-project-list a:hover{transform:none}}
.media-frame{border:1px solid var(--line-strong);background:var(--night);color:var(--night-ink);margin:0;overflow:hidden}.media-frame :where(img,video,svg){width:100%;height:auto;display:block}.media-frame__visual{background:var(--night);min-height:10rem}.media-frame__fallback,.media-frame__document{min-height:12rem;color:var(--night-ink);font-family:var(--font-body), sans-serif;text-align:center;place-items:center;padding:1.5rem;line-height:1.6;display:grid}.media-frame__fallback{background:color-mix(in srgb, var(--night) 92%, var(--accent))}.media-frame__document{color:var(--night);background:var(--paper-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.25em;font-weight:500}.media-frame figcaption{border-top:1px solid color-mix(in srgb, var(--night-ink) 25%, transparent);padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.media-frame figcaption span{color:color-mix(in srgb, var(--night-ink) 68%, transparent);margin-top:.3rem;font-size:.8125rem;display:block}.media-frame figcaption .media-frame__stage{color:var(--accent-on-night);font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:.6875rem;font-weight:700}.projects-index{width:min(var(--content-width), calc(100% - (var(--page-gutter) * 2)));padding:clamp(4rem, 10vw, 9rem) 0 var(--section-space);margin:0 auto}.projects-index__intro{max-width:62rem;padding-bottom:clamp(3rem,7vw,6rem)}.case-study__eyebrow,.projects-index__meta,.projects-index__role>span,.case-study__meta dt{color:var(--ink-muted);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:500}.projects-index h1{max-width:60rem;font-size:clamp(3.25rem,7.5vw,7rem);line-height:.91}.projects-index__intro>p:last-child{max-width:var(--text-width);margin:2rem 0 0;font-size:clamp(1.0625rem,1.8vw,1.25rem)}.evidence-cinema{border:1px solid var(--line-strong);background:var(--night);color:var(--night-ink);margin:0 0 clamp(4rem,9vw,8rem)}.evidence-cinema__header{border-bottom:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);gap:1.25rem clamp(2rem,6vw,7rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.evidence-cinema__header .case-study__eyebrow{color:color-mix(in srgb, var(--night-ink) 66%, transparent);grid-column:1/-1;margin-bottom:0}.evidence-cinema__header h2,.evidence-cinema__overlay h3{color:var(--night-ink)}.evidence-cinema__header h2{max-width:32rem;font-size:clamp(2.5rem,5vw,5.5rem);line-height:.9}.evidence-cinema__header>p:last-child{max-width:31rem;color:color-mix(in srgb, var(--night-ink) 72%, transparent);align-self:end;margin:0;font-size:.9375rem}.evidence-cinema__stage{background:color-mix(in srgb, var(--night) 93%, var(--accent));position:relative;overflow:hidden}.evidence-cinema__stage .media-frame{z-index:0;border:0;position:relative}.evidence-cinema__stage .media-frame:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--night) 84%, transparent), transparent 72%);pointer-events:none;position:absolute;inset:0 0 4.75rem}.evidence-cinema__stage .media-frame__visual{object-fit:cover;object-position:top center;width:100%;height:clamp(24rem,52vw,42rem)}.evidence-cinema__stage .media-frame figcaption{background:var(--night);min-height:4.75rem;padding:.875rem clamp(1rem,3vw,2rem)}.evidence-cinema__overlay{z-index:1;width:min(34rem,100% - 2rem);position:absolute;bottom:6.25rem;left:clamp(1rem,3vw,2rem)}.evidence-cinema__meta,.evidence-cinema__role span,.evidence-cinema__capability span{color:var(--accent-on-night);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:500;display:block}.evidence-cinema__overlay h3{max-width:30rem;font-size:clamp(2.25rem,5vw,5.25rem)}.evidence-cinema__role,.evidence-cinema__capability{max-width:33rem;color:var(--night-ink);margin:1.15rem 0 0;font-size:.9375rem;line-height:1.55}.evidence-cinema__role span,.evidence-cinema__capability span{color:color-mix(in srgb, var(--night-ink) 66%, transparent)}.evidence-cinema__case-study-link{border:1px solid color-mix(in srgb, var(--night-ink) 58%, transparent);min-height:44px;color:var(--night-ink);transition:border-color .18s var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out);align-items:center;gap:.5rem;margin-top:1.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.evidence-cinema__case-study-link:hover{border-color:var(--accent);background:var(--accent);color:var(--night)}.evidence-cinema__controls{border-top:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;display:grid}.evidence-cinema__step,.evidence-cinema__selector{min-height:44px;color:var(--night-ink);font-family:var(--font-body), sans-serif;text-align:left;cursor:pointer;border:0}.evidence-cinema__step{white-space:nowrap;background:0 0;padding:1rem;font-size:.8125rem}.evidence-cinema__step:first-child{border-right:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent)}.evidence-cinema__step:last-child{border-left:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent)}.evidence-cinema__step:hover,.evidence-cinema__step:focus-visible{background:color-mix(in srgb, var(--night) 84%, var(--accent))}.evidence-cinema__selectors{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.evidence-cinema__selector{border-right:1px solid color-mix(in srgb, var(--night-ink) 20%, transparent);background:0 0;gap:.3rem;padding:.75rem .875rem;font-size:.8125rem;line-height:1.3;display:grid}.evidence-cinema__selector:last-child{border-right:0}.evidence-cinema__selector>span:first-child{color:color-mix(in srgb, var(--night-ink) 58%, transparent);font-family:var(--font-mono), monospace;letter-spacing:.08em;font-size:.6875rem}.evidence-cinema__selector:hover,.evidence-cinema__selector[aria-pressed=true]{background:color-mix(in srgb, var(--night) 78%, var(--accent))}.evidence-cinema__selector[aria-pressed=true]>span:first-child{color:var(--accent-on-night)}.evidence-cinema__step:focus-visible,.evidence-cinema__selector:focus-visible,.evidence-cinema__case-study-link:focus-visible{outline:2px solid var(--accent-on-night);outline-offset:-4px}.systems-atlas{border:1px solid var(--line-strong);background:var(--paper-secondary);margin:0 0 clamp(4rem,9vw,8rem)}.systems-atlas__header{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);gap:1.25rem clamp(2rem,6vw,7rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.systems-atlas__header .case-study__eyebrow{grid-column:1/-1;margin-bottom:0}.systems-atlas__header h2{font-size:clamp(2.5rem,5vw,5.5rem);line-height:.9}.systems-atlas__header>p:last-child{max-width:31rem;color:var(--ink-muted);align-self:end;margin:0;font-size:.9375rem;line-height:1.6}.systems-atlas__fallback-list,.systems-atlas__fallback-facts,.systems-atlas__fallback-facts ul,.systems-atlas__fallback-relationships ul{margin:0;padding:0;list-style:none}.systems-atlas__fallback-entry{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);gap:1.5rem clamp(2rem,5vw,5rem);padding:clamp(1.5rem,4vw,3rem);display:grid}.systems-atlas__fallback-label,.systems-atlas__fallback-facts dt,.systems-atlas__fallback-relationships h4,.systems-atlas__fallback-relationships li>span{color:var(--ink-muted);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.6875rem;font-weight:500;display:block}.systems-atlas__fallback-entry h3{font-size:clamp(2rem,3.5vw,3.75rem);line-height:.95}.systems-atlas__fallback-summary{max-width:34rem;color:var(--ink-muted);margin:1rem 0 0;line-height:1.6}.systems-atlas__fallback-facts{align-content:start;gap:1rem;display:grid}.systems-atlas__fallback-facts>div{border-top:1px solid var(--line);padding-top:1rem}.systems-atlas__fallback-facts dd{margin:0;font-size:.875rem;line-height:1.55}.systems-atlas__fallback-facts ul{flex-wrap:wrap;gap:.35rem;display:flex}.systems-atlas__fallback-facts li{border:1px solid var(--line-strong);padding:.25rem .45rem;font-size:.75rem;line-height:1.35}.systems-atlas__fallback-relationships{border-top:1px solid var(--line-strong);grid-column:1/-1;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);gap:1.5rem clamp(2rem,5vw,5rem);padding-top:1.5rem;display:grid}.systems-atlas__fallback-relationships h4{margin:0}.systems-atlas__fallback-relationships ul{background:var(--line-strong);border:1px solid var(--line-strong);gap:1px;display:grid}.systems-atlas__fallback-relationships li{background:var(--paper);padding:1rem}.systems-atlas__fallback-relationships a,.systems-atlas__fallback-case-study{color:var(--ink)}.systems-atlas__fallback-relationships a{font-family:var(--font-display), serif;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-underline-offset:.18em;font-size:1.35rem;line-height:1}.systems-atlas__fallback-relationships li>p{color:var(--ink-muted);margin:.75rem 0 0;font-size:.875rem;line-height:1.55}.systems-atlas__fallback-case-study,.systems-atlas__case-study-link{border:1px solid var(--line-strong);min-height:44px;transition:border-color .16s var(--ease-out), background .16s var(--ease-out), color .16s var(--ease-out);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.systems-atlas__fallback-case-study{grid-column:1/-1;justify-self:start}.systems-atlas__fallback-case-study:hover{border-color:var(--accent);background:var(--accent);color:var(--night)}.systems-atlas__body{border-bottom:1px solid var(--line-strong)}.systems-atlas__controls{margin:0;padding:0;list-style:none}.systems-atlas__control-item{border-bottom:1px solid var(--line-strong)}.systems-atlas__control-item:last-child{border-bottom:0}.systems-atlas__control{background:var(--paper);width:100%;min-height:5.5rem;color:var(--ink);font-family:var(--font-body), sans-serif;text-align:left;cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out);border:0;border-left:3px solid #0000;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;padding:1rem clamp(1.25rem,3vw,2.25rem);font-size:1rem;display:grid}.systems-atlas__control-sequence{color:var(--ink-muted);font-family:var(--font-mono), monospace;letter-spacing:.08em;font-size:.6875rem;font-weight:500}.systems-atlas__control-copy{gap:.25rem;display:grid}.systems-atlas__control-title{font-family:var(--font-display), serif;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:500;line-height:.95}.systems-atlas__control-function{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.systems-atlas__control:hover,.systems-atlas__control[aria-expanded=true]{border-left-color:var(--accent);background:var(--night);color:var(--night-ink)}.systems-atlas__control[aria-expanded=true] .systems-atlas__control-sequence{color:var(--accent-on-night)}.systems-atlas__control[aria-expanded=true] .systems-atlas__control-function{color:color-mix(in srgb, var(--night-ink) 72%, transparent)}.systems-atlas__control:focus-visible,.systems-atlas__case-study-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.systems-atlas__detail{background:var(--night);color:var(--night-ink);padding:clamp(1.5rem,3vw,2.5rem)}.systems-atlas__detail--inline{display:none}.systems-atlas__label,.systems-atlas__relationship-type{color:color-mix(in srgb, var(--night-ink) 62%, transparent);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.6875rem;font-weight:500;display:block}.systems-atlas__detail h3{color:var(--night-ink);font-size:clamp(2rem,3vw,3.25rem);line-height:.95}.systems-atlas__summary{color:color-mix(in srgb, var(--night-ink) 80%, transparent);margin:1rem 0 1.5rem;font-size:.9375rem;line-height:1.55}.systems-atlas__fact{border-top:1px solid color-mix(in srgb, var(--night-ink) 22%, transparent);padding:1rem 0}.systems-atlas__fact p:last-child{color:color-mix(in srgb, var(--night-ink) 80%, transparent);margin:0;font-size:.875rem;line-height:1.55}.systems-atlas__fact ul{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.systems-atlas__fact:not(.systems-atlas__fact--relationships) li{border:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);color:color-mix(in srgb, var(--night-ink) 82%, transparent);padding:.25rem .45rem;font-size:.75rem;line-height:1.35}.systems-atlas__case-study-link{border:1px solid color-mix(in srgb, var(--night-ink) 58%, transparent);color:var(--night-ink);margin-top:1.25rem}.systems-atlas__case-study-link:hover{border-color:var(--accent);background:var(--accent);color:var(--night)}.systems-atlas__fact--relationships ul{background:var(--line-strong);border:1px solid var(--line-strong);gap:1px;display:grid}.systems-atlas__fact--relationships li{background:var(--night);padding:1rem}.systems-atlas__relationship-type{color:color-mix(in srgb, var(--night-ink) 62%, transparent)}.systems-atlas__fact--relationships a{color:var(--night-ink);font-family:var(--font-display), serif;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-underline-offset:.18em;font-size:1.35rem;line-height:1}.systems-atlas__fact--relationships a:hover{color:var(--accent)}.systems-atlas__fact--relationships li>p{color:color-mix(in srgb, var(--night-ink) 80%, transparent);margin:.75rem 0 0;font-size:.875rem;line-height:1.55}@media (min-width:1001px){.systems-atlas__body{grid-template-columns:minmax(20rem,.85fr) minmax(0,1.15fr);display:grid}.systems-atlas__detail{border-left:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent)}}@media (max-width:799px){.systems-atlas__header,.systems-atlas__fallback-entry,.systems-atlas__fallback-relationships{grid-template-columns:1fr}.systems-atlas__detail--desktop{display:none}.systems-atlas__detail--inline{border-top:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);display:block}.systems-atlas__control{min-height:44px;padding:1rem}.systems-atlas__detail{padding:1.5rem var(--page-gutter)}.systems-atlas__fallback-entry{gap:1.5rem}.systems-atlas__fallback-relationships{padding-top:1.25rem}}[data-evidence-cinema][data-motion=full] .evidence-cinema__stage .media-frame{animation:evidence-cinema-arrive .48s var(--ease-out-quint) both;will-change:opacity, transform}.project-journal,.project-archive{border-top:2px solid var(--line-strong);margin:0 0 clamp(4rem,9vw,8rem)}.project-journal__header,.project-archive__header{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);gap:1.25rem clamp(2rem,6vw,7rem);padding:clamp(1.75rem,4vw,3.25rem) 0;display:grid}.project-journal__header .case-study__eyebrow,.project-archive__header .case-study__eyebrow{grid-column:1/-1;margin-bottom:0}.project-journal__header h2,.project-archive__header h2{font-size:clamp(2.75rem,5.5vw,5.75rem);line-height:.9}.project-journal__header>p:last-child,.project-archive__header>p:last-child{max-width:32rem;color:var(--ink-muted);align-self:end;margin:0;font-size:.9375rem;line-height:1.6}.project-journal__body{grid-template-columns:minmax(13rem,.36fr) minmax(0,1.64fr);gap:clamp(2rem,5vw,6rem);padding-top:clamp(1.5rem,4vw,3rem);display:grid}.project-journal__index{top:calc(var(--header-height,4rem) + 1.5rem);align-self:start;padding-bottom:1.5rem;position:sticky}.project-journal__index>p,.project-journal__meta,.project-journal__role>span,.project-archive__identity>p,.project-archive__facts dt{color:var(--ink-muted);font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;font-size:.6875rem;font-weight:500}.project-journal__index ol,.project-archive__list,.project-archive__links{margin:0;padding:0;list-style:none}.project-journal__index ol{border-top:1px solid var(--line-strong)}.project-journal__index li{border-bottom:1px solid var(--line)}.project-journal__index li>span{min-height:44px;color:var(--ink);grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.75rem 0;font-size:.875rem;font-weight:600;line-height:1.25;display:grid}.project-journal__index li>span>span,.project-journal__chapter-number,.project-archive__number{color:var(--accent);font-family:var(--font-mono), monospace;letter-spacing:.04em;font-size:.75rem}.project-journal__chapters{gap:clamp(3rem,7vw,7rem);display:grid}.project-journal__chapter{border-top:1px solid var(--line-strong);grid-template-columns:minmax(2.5rem,.14fr) minmax(0,.86fr) minmax(17rem,.95fr);grid-template-areas:"number copy media";align-items:start;gap:clamp(1rem,3vw,3rem);padding-top:clamp(1.5rem,3vw,2.5rem);scroll-margin-top:6rem;display:grid}.project-journal__chapter-number{grid-area:number;padding-top:.4rem}.project-journal__chapter-copy{grid-area:copy}.project-journal__chapter h3{max-width:35rem;font-size:clamp(2.5rem,4.5vw,4.75rem);line-height:.9}.project-journal__summary{max-width:34rem;margin:1rem 0 0;font-size:1.0625rem;line-height:1.6}.project-journal__role{border-top:1px solid var(--line);max-width:32rem;margin:1.5rem 0 0;padding-top:1rem}.project-journal__role>p{margin:0;font-size:.9375rem;line-height:1.55}.project-journal__chapter-copy>a,.project-archive__links a{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-underline-offset:.22em;align-items:center;gap:.45rem;margin-top:1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.project-journal__chapter-copy>a:hover,.project-archive__links a:hover{color:var(--accent)}.project-journal__media{grid-area:media}.project-journal__media .media-frame__visual{aspect-ratio:4/3;object-fit:cover}.project-journal__chapter--infrastructure{grid-template-columns:minmax(2.5rem,.14fr) minmax(17rem,.95fr) minmax(0,.86fr);grid-template-areas:"number media copy"}.project-journal__chapter--offscript .project-journal__media{justify-self:end;max-width:min(21rem,100%)}.project-journal__chapter--game-server-engineering .project-journal__media{align-self:end}.project-journal__evidence-note,.case-study__evidence-note{border:1px solid var(--line-strong);color:var(--ink-muted);margin:0;padding:1.25rem;font-size:.9375rem;line-height:1.55}.project-archive__filters{border-bottom:1px solid var(--line-strong);flex-wrap:wrap;gap:.5rem;padding:clamp(1.25rem,3vw,2rem) 0;display:flex}.project-archive__filters button{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);font-family:var(--font-body), sans-serif;cursor:pointer;background:0 0;padding:.55rem .8rem;font-size:.8125rem;font-weight:600}.project-archive__filters button:hover,.project-archive__filters button[aria-pressed=true]{border-color:var(--accent);background:var(--night);color:var(--night-ink)}.project-archive__filters button:focus-visible,.project-journal__index a:focus-visible,.project-journal__chapter-copy>a:focus-visible,.project-archive__links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-archive__list{border-top:0}.project-archive__row{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(2.5rem,.15fr) minmax(12rem,.72fr) minmax(16rem,1fr) minmax(14rem,.83fr) minmax(8rem,.35fr);align-items:start;gap:clamp(1rem,2.5vw,2.5rem);padding:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.project-archive__number{padding-top:.25rem}.project-archive__identity h3{font-size:clamp(1.6rem,2.5vw,2.65rem);line-height:.94}.project-archive__identity h3 a{color:var(--ink);text-underline-offset:.16em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.project-archive__identity h3 a:hover{color:var(--accent);text-decoration-color:currentColor}.project-archive__purpose{color:var(--ink-muted);margin:0;font-size:.9375rem;line-height:1.55}.project-archive__facts{gap:.8rem;margin:0;display:grid}.project-archive__facts>div{border-top:1px solid var(--line);padding-top:.8rem}.project-archive__facts dt{margin-bottom:.25rem}.project-archive__facts dd{color:var(--ink);margin:0;font-size:.8125rem;line-height:1.5}.project-archive__links{align-content:start;gap:.25rem;display:grid}.project-archive__links a{width:fit-content;margin-top:0}.case-study__public-link-note{color:color-mix(in srgb, var(--night-ink) 65%, transparent);grid-column:1/-1;margin:0;font-size:.875rem}@keyframes evidence-cinema-arrive{0%{transform:translateY(1rem)}to{transform:translate(0,0)}}.projects-index__list,.case-study__facts,.case-study__public-links,.case-study__related-list{margin:0;padding:0;list-style:none}.projects-index__list{border-top:2px solid var(--line-strong)}.projects-index__entry{border-bottom:1px solid var(--line);grid-template-columns:minmax(2.5rem,.35fr) minmax(0,1.5fr) minmax(14rem,.85fr) auto;align-items:start;gap:clamp(1rem,3vw,3rem);padding:clamp(1.5rem,3vw,2.5rem) 0;display:grid}.projects-index__number{color:var(--accent);font-family:var(--font-mono), monospace;font-size:.875rem}.projects-index__entry h2{font-size:clamp(2rem,4vw,3.5rem)}.projects-index__entry h2 a,.case-study__related-list a{text-underline-offset:.16em;transition:color .16s var(--ease-out), text-decoration-color .16s var(--ease-out);-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.projects-index__entry h2 a:hover,.case-study__related-list a:hover{color:var(--accent);text-decoration-color:currentColor}.projects-index__entry p{margin:.75rem 0 0}.projects-index__role{padding-top:.3rem}.projects-index__role>span{display:block}.projects-index__role>p{margin:0;font-size:.9375rem;line-height:1.55}.projects-index__link{min-height:44px;color:var(--ink);white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.projects-index__link:hover{color:var(--accent)}.case-study__hero{width:100%;padding:clamp(4rem, 10vw, 9rem) max(var(--page-gutter), calc((100vw - var(--content-width)) / 2));background:var(--night);color:var(--night-ink);grid-template-columns:minmax(0,1fr) minmax(14rem,19rem);gap:clamp(2rem,7vw,8rem);display:grid}.case-study__hero .case-study__eyebrow,.case-study__hero .case-study__summary,.case-study__hero .case-study__meta dt{color:color-mix(in srgb, var(--night-ink) 65%, transparent)}.case-study__hero h1{max-width:54rem;color:var(--night-ink);font-size:clamp(3.5rem,8vw,8rem);line-height:.88}.case-study__summary{max-width:46rem;color:var(--night-ink);margin:2rem 0 0;font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.6}.case-study__meta{border-top:1px solid color-mix(in srgb, var(--night-ink) 30%, transparent);align-self:end;margin:0}.case-study__meta>div{border-bottom:1px solid color-mix(in srgb, var(--night-ink) 30%, transparent);padding:1rem 0}.case-study__meta dt{margin-bottom:.35rem}.case-study__meta dd{color:var(--night-ink);margin:0;font-size:1.05rem}.case-study__public-links{flex-wrap:wrap;grid-column:1/-1;gap:.75rem;display:flex}.case-study__public-links a{border:1px solid color-mix(in srgb, var(--night-ink) 55%, transparent);min-height:44px;color:var(--night-ink);align-items:center;padding:.5rem .875rem;font-size:.875rem;display:inline-flex}.case-study__public-links a:hover{border-color:var(--accent);background:var(--accent)}.case-study__body{width:min(var(--content-width), calc(100% - (var(--page-gutter) * 2)));padding-bottom:var(--section-space);margin:0 auto}.case-study__section{border-bottom:1px solid var(--line);padding:clamp(3rem,7vw,6rem) 0}.case-study__section>h2,.case-study__section>div>h2{max-width:46rem;font-size:clamp(2.25rem,5vw,4.5rem)}.case-study__section>p,.case-study__section>div>p{max-width:var(--text-width);margin:1.25rem 0 0;font-size:1.0625rem}.case-study__section--split{grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);gap:clamp(2rem,8vw,10rem);display:grid}.case-study__facts{border-top:2px solid var(--line-strong);align-self:end}.case-study__facts li{border-bottom:1px solid var(--line);color:var(--ink);padding:.875rem 0;font-size:.9375rem;line-height:1.5}.case-study__fact-group h3{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem}.case-study__fact-groups{gap:2rem;display:grid}.case-study__outcomes{border-top:2px solid var(--line-strong);align-self:end;margin:0;padding:0;list-style:none}.case-study__outcomes li{border-bottom:1px solid var(--line);gap:.5rem;padding:1rem 0;display:grid}.case-study__outcomes strong{color:var(--ink);font-size:.9375rem;line-height:1.5}.case-study__outcome-basis{color:var(--ink-muted);font-size:.8125rem;line-height:1.55}.case-study__evidence>div:first-child{max-width:var(--text-width)}.case-study__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);margin-top:clamp(2rem,5vw,4rem);display:grid}.case-study__gallery .media-frame:only-child{grid-column:1/-1}.case-study__related-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1px;margin-top:2rem;display:grid}.case-study__related-list li{background:var(--paper-secondary);gap:.75rem;padding:1.25rem;display:grid}.case-study__related-list a{color:var(--ink);font-family:var(--font-display), serif;font-size:1.5rem;line-height:1}.case-study__related-list span{color:var(--ink-muted);font-size:.875rem;line-height:1.5}@media (max-width:760px){.projects-index__entry,.case-study__hero,.case-study__section--split,.project-journal__header,.project-archive__header,.project-journal__body,.project-journal__chapter,.project-journal__chapter--infrastructure,.project-archive__row{grid-template-columns:1fr}.project-journal__header,.project-archive__header{gap:1rem}.project-journal__body{gap:1.5rem}.project-journal__index{padding-bottom:0;position:static}.project-journal__index ol{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));display:grid}.project-journal__index li{border-right:1px solid var(--line)}.project-journal__chapter,.project-journal__chapter--infrastructure{grid-template-areas:"number""copy""media";gap:1rem}.project-journal__chapter-number{padding-top:0}.project-journal__chapter--offscript .project-journal__media{justify-self:stretch;max-width:none}.project-archive__filters{gap:.4rem}.project-archive__filters button{flex:auto}.project-archive__row{gap:1rem}.project-archive__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-archive__facts>div:first-child{grid-column:1/-1}.project-archive__links{grid-template-columns:repeat(auto-fit,minmax(8rem,max-content))}.projects-index__entry{gap:1rem}.projects-index__number{order:1}.projects-index__entry>div:nth-child(2){order:2}.projects-index__role{order:3}.projects-index__link{order:4}.case-study__hero{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.case-study__meta{max-width:22rem}.case-study__gallery{grid-template-columns:1fr}.case-study__gallery .media-frame:only-child{grid-column:auto}.evidence-cinema__header{grid-template-columns:1fr}.evidence-cinema__stage{display:block;overflow:visible}.evidence-cinema__stage .media-frame:after{display:none}.evidence-cinema__stage .media-frame__visual{height:clamp(20rem,100vw,32rem)}.evidence-cinema__overlay{width:auto;padding:1.25rem var(--page-gutter) 1.5rem;border-top:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);background:var(--night);position:static}.evidence-cinema__controls{grid-template-columns:1fr 1fr}.evidence-cinema__selectors{scroll-snap-type:none;border-bottom:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent);scrollbar-color:color-mix(in srgb, var(--night-ink) 45%, transparent) transparent;grid-area:1/1/auto/-1;display:flex;overflow-x:auto}.evidence-cinema__selector{flex:0 0 min(15rem,72vw);min-height:4.5rem}.evidence-cinema__step{text-align:center;grid-row:2}.evidence-cinema__step:first-child,.evidence-cinema__step:last-child{border:0}.evidence-cinema__step:first-child{border-right:1px solid color-mix(in srgb, var(--night-ink) 28%, transparent)}}@media (prefers-reduced-motion:reduce){.projects-index__entry h2 a,.case-study__related-list a,.systems-atlas__control,.systems-atlas__fallback-case-study,.systems-atlas__case-study-link,.project-journal__chapter-copy>a,.project-archive__links a,.project-archive__filters button{transition:none}[data-evidence-cinema][data-motion=full] .evidence-cinema__stage .media-frame{will-change:auto;animation:none}}
:root{--accent-on-night:#f0a18b;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--header-height:4rem}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);min-width:20rem;min-height:100vh;color:var(--ink);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body:after{z-index:-1;pointer-events:none;content:"";opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--accent);color:var(--night-ink)}:focus-visible{outline:var(--focus);outline-offset:.25rem}.skip-link{z-index:1000;background:var(--paper);min-height:2.75rem;color:var(--ink);font-family:var(--font-body), sans-serif;letter-spacing:.04em;align-items:center;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;display:inline-flex;position:absolute;top:-6.25rem;left:1rem}.skip-link:focus{top:1rem}.topbar{z-index:20;width:100%;min-height:var(--header-height);border-bottom:1px solid var(--line-strong);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);grid-template-columns:minmax(1.25rem,1fr) minmax(0,37rem) minmax(0,37rem) minmax(1.25rem,1fr);align-items:center;display:grid;position:sticky;top:0}.brand,.topbar nav{font-family:var(--font-body), sans-serif;align-items:center;gap:1rem;font-size:.875rem;display:flex}.brand{grid-column:2;justify-self:start;min-height:2.75rem;font-weight:500}.topbar nav{grid-column:3;justify-self:end;gap:.75rem}.mark{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--ink);font-family:var(--font-mono), monospace;place-items:center;font-size:.75rem;display:inline-grid}.topbar nav a{min-width:2.75rem;min-height:2.75rem;color:var(--ink-muted);transition:color .16s var(--ease-out);justify-content:center;align-items:center;padding-inline:.125rem;display:inline-flex;position:relative}.topbar nav a:after{background:var(--accent);content:"";transform-origin:0;height:1px;transition:transform .22s var(--ease-out);position:absolute;bottom:-.625rem;left:0;right:0;transform:scaleX(0)}.topbar nav a:hover,.topbar nav a:focus-visible{color:var(--ink)}.topbar nav a:hover:after,.topbar nav a:focus-visible:after{transform:scaleX(1)}h1,h2,h3{color:var(--ink);font-family:var(--font-display), serif;letter-spacing:-.025em;margin:0;font-weight:500;line-height:.98}h1{font-size:clamp(3rem,6vw,4.9rem)}h2{font-size:clamp(2.25rem,4.5vw,4rem)}h3{font-size:clamp(1.5rem,2.5vw,2.25rem)}p{color:var(--ink-muted);overflow-wrap:anywhere;line-height:1.72}.section{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));padding-block:var(--section-space);border-bottom:1px solid var(--line);margin:0 auto}.eyebrow{color:var(--ink);font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.625rem;margin:0 0 1rem;font-size:.75rem;display:flex}.eyebrow:before{background:var(--accent);content:"";flex:0 0 .75rem;height:2px}.page-hero{max-width:var(--text-width);margin-inline:auto}.page-hero p,.prose p{font-size:clamp(1rem,1.8vw,1.25rem)}.prose p:first-child{margin-top:0}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border:1px solid var(--line-strong);min-height:2.75rem;color:var(--ink);font-family:var(--font-body), sans-serif;transition:transform .16s var(--ease-out), background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;line-height:1.2;display:inline-flex}.button:hover,.button:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.button.primary{border-color:var(--ink);background:var(--ink);color:var(--night-ink)}.button.ghost{background:0 0}.split,.now-grid{grid-template-columns:minmax(15rem,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5.5rem);display:grid}.split>*,.now-grid>*{min-width:0}.rows,.note-grid,.spec-grid{gap:.875rem;display:grid}.data-row{border-top:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);gap:1.25rem;padding-block:1.125rem;display:grid}.data-row span,.note-grid article>span,.spec-grid .spec-cell>span{color:var(--ink);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.data-row p{margin:0}.note-grid,.spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.note-grid article,.spec-cell{border:1px solid var(--line);background:var(--paper-secondary)}.note-grid article{padding:1.375rem}.note-grid h3{margin-top:1rem}.spec-cell{gap:.875rem;min-height:9.375rem;padding:1.375rem;display:grid}.spec-cell strong{color:var(--ink);font-size:1.125rem;font-weight:500;line-height:1.35}.site-footer{width:min(var(--content-width), calc(100% - (2 * var(--page-gutter))));border-top:1px solid var(--line-strong);color:var(--ink-muted);font-family:var(--font-body), sans-serif;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.875rem;margin:0 auto;padding-block:1.75rem 2.25rem;font-size:.875rem;display:flex}.site-footer a{min-height:2.75rem;color:var(--ink);text-underline-offset:.25rem;transition:text-decoration-color .16s var(--ease-out);align-items:center;padding-inline:.25rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;display:inline-flex}.site-footer a:hover,.site-footer a:focus-visible{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.mobile-toggle{border:1px solid var(--line-strong);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:none}.mobile-toggle:hover,.mobile-toggle:focus-visible{border-color:var(--accent)}.mobile-toggle svg{width:1.25rem;height:1.25rem}@media (max-width:980px){.topbar{grid-template-columns:minmax(1.25rem,1fr) minmax(0,1fr) auto minmax(1.25rem,1fr)}.brand{grid-column:2}.mobile-toggle{grid-column:3;justify-self:end;display:inline-flex}.topbar nav{top:var(--header-height);z-index:25;border-bottom:1px solid var(--line-strong);background:var(--paper);flex-direction:column;grid-column:1/-1;gap:0;padding:.75rem 1.25rem 1.25rem;display:none;position:absolute;left:0;right:0;box-shadow:0 1.125rem 3.75rem #1919162e}.topbar.nav-open nav{display:flex}.topbar nav a{border-bottom:1px solid var(--line);justify-content:flex-start;width:100%;min-height:3rem;padding:.875rem .25rem}.topbar nav a:after{display:none}.split,.now-grid,.note-grid,.spec-grid{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.topbar{grid-template-columns:.875rem auto minmax(0,1fr) auto .875rem}.brand{grid-column:2;gap:.625rem}.mobile-toggle{grid-column:4}.section{padding-block:3.625rem}.hero-actions,.button{width:100%}.button{justify-content:center}.data-row{grid-template-columns:1fr;gap:.375rem}}@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}}
