@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/316b6682b406c2db-s.1_k7aq_c5drf2.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5e4d537aaa9e154b-s.p.1ewykk74tw0il.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:Archivo Black Fallback;src:local(Arial);ascent-override:70.78%;descent-override:16.93%;line-gap-override:0.0%;size-adjust:124.05%}.archivo_black_9697e927-module__Ky8I3q__className{font-family:Archivo Black,Archivo Black Fallback;font-style:normal;font-weight:400}.archivo_black_9697e927-module__Ky8I3q__variable{--font-display:"Archivo Black", "Archivo Black Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_5eb0f98c-module__FlWcgG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_5eb0f98c-module__FlWcgG__variable{--font-body:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--cream:#fff8e5;--paper:#fffdf5;--ink:#0a0a0a;--ink-soft:#4a4653;--olive:#87906a;--clay:#c9785b;--ochre:#c8a15a;--border-hair:3px;--border-card:4px;--border-slab:6px;--offset-sm:5px;--offset-md:9px;--offset-lg:13px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{color:var(--ink);background:var(--cream);font-family:var(--font-body), sans-serif;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3,p,dl,dd{margin:0}a{color:inherit;text-underline-offset:.25em}button,summary{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:disabled{cursor:default}::selection{color:var(--ink);background:var(--ochre)}:focus-visible{outline-offset:5px;outline:3px solid}.site-shell{width:calc(100% - 2.75rem);max-width:1240px;margin:1.375rem auto 2.75rem}.slab{border:var(--border-slab) solid var(--ink);background:var(--cream) url(/design/marks.svg);box-shadow:var(--offset-lg) var(--offset-lg) 0 var(--ink);position:relative}.site-header{margin:1.125rem 0 2.125rem;padding:1.25rem}.header-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.wordmark{max-width:80%;font-family:var(--font-mono), monospace;letter-spacing:-.08em;font-size:clamp(1.2rem,3vw,2rem);font-weight:800;line-height:1.12;text-decoration:none}.header-positioning{font:700 .62rem/1.6 var(--font-mono), monospace;letter-spacing:.13em;margin-top:.5rem}.header-positioning span{margin:0 .6rem}.primary-nav{display:none}.primary-nav a,.inline-action,.record-count{border:2px solid var(--ink);background:var(--paper);color:var(--ink);font:700 .68rem/1.4 var(--font-mono), monospace;justify-content:center;align-items:center;gap:.5rem;padding:.35rem .6rem;text-decoration:none;display:inline-flex}.inline-action{min-height:44px}.primary-nav a:hover,.inline-action:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}[data-tone=cream]{--nav-tone:var(--cream)}[data-tone=olive]{--nav-tone:var(--olive)}[data-tone=clay]{--nav-tone:var(--clay)}[data-tone=ochre]{--nav-tone:var(--ochre)}.nav-swatch{border:1px solid var(--ink);background:var(--nav-tone);flex:none;width:.65rem;height:.65rem}.primary-nav a[aria-current=page]{background:var(--nav-tone);box-shadow:3px 3px 0 var(--ink)}.menu-trigger{flex:none}.skip-link{z-index:20;background:var(--ochre);border:3px solid var(--ink);padding:.6rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-180%)}.skip-link:focus{transform:none}.context-menu{width:min(320px,100% - 3rem);max-height:calc(100dvh - 3rem);color:var(--ink);background:var(--cream);border:3px solid var(--ink);box-shadow:9px 9px 0 var(--ink);padding:0}.context-menu::backdrop{background:#0a0a0a55}.menu-heading{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;padding-left:.875rem;display:flex}.menu-heading h2{font:700 .7rem var(--font-mono), monospace;letter-spacing:.05em}.menu-heading button{border:0;border-left:2px solid var(--ink);background:0 0;width:44px;height:44px;font-size:1.5rem}.context-menu nav{padding:.5rem 0}.context-menu nav a{min-height:44px;font:500 .875rem var(--font-mono), monospace;text-transform:lowercase;align-items:center;gap:.85rem;padding:.7rem .875rem;text-decoration:none;display:flex}.context-menu nav a:hover,.context-menu nav a:focus-visible{background:var(--nav-tone);outline-offset:-3px}.current-marker{margin-left:auto;font-size:.7rem}.menu-email{font:700 .8rem var(--font-mono), monospace;border-top:3px solid;gap:.75rem;padding:.75rem .875rem;text-decoration:none;display:flex}.menu-hint{font:.6rem/1.5 var(--font-mono), monospace;border-top:3px solid;padding:.7rem .875rem}.ticker{height:36px;color:var(--ochre);background:var(--ink);font:700 .65rem/1.5 var(--font-mono), monospace;letter-spacing:.08em;display:flex}.ticker-window{flex:1;align-items:center;display:flex;overflow:hidden}.ticker-track{flex:none;width:max-content;animation:70s linear infinite ticker-travel;display:flex}.ticker-track span{white-space:pre;padding-right:3rem}@keyframes ticker-travel{to{transform:translate(-50%)}}.page-panel{--page-accent:var(--paper);padding:1.75rem 1.125rem 2.5rem}.page-heading{border-bottom:3px solid;margin-bottom:1.75rem;padding-bottom:1.5rem}.eyebrow{font:700 .65rem/1.6 var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase}.page-heading .eyebrow{border:2px solid var(--ink);background:var(--page-accent);padding:.2rem .45rem;display:inline-block}h1,h2,h3{font-family:var(--font-display), sans-serif;text-transform:uppercase;font-weight:400}h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:.625rem;font-size:clamp(2rem,6vw,3.4rem);line-height:.98}.page-intro{max-width:76ch;margin-top:1.1rem;font-size:.95rem;line-height:1.6}.home-sections{gap:2.75rem;display:grid}.content-section+.content-section{margin-top:2.75rem}.section-heading{border-bottom:3px solid;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:2.5rem;padding-bottom:.75rem;display:flex}.section-heading h2{letter-spacing:-.02em;margin-top:.5rem;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1}.record-count{min-height:28px;font-weight:400}.card-grid{grid-template-columns:minmax(0,1fr);gap:3.25rem 1.625rem;display:grid}.tone-olive{--card-color:var(--olive)}.tone-clay{--card-color:var(--clay)}.tone-ochre{--card-color:var(--ochre)}.record-card{background:var(--card-color);min-width:0;color:var(--card-text,var(--ink));border:4px solid var(--ink);box-shadow:9px 9px 0 var(--ink);flex-direction:column;margin-top:1.75rem;padding:4px;display:flex;position:relative}.record-index{background:var(--card-color);color:var(--card-text,var(--ink));border:4px solid var(--ink);font:700 .7rem/1.5 var(--font-mono), monospace;letter-spacing:.1em;border-bottom:0;border-radius:4px 4px 0 0;padding:.45rem 1rem .25rem;position:absolute;bottom:calc(100% + 2px);left:.875rem}.record-header{background:var(--ink);color:var(--card-color);padding:.875rem 1rem;position:relative}.record-header:after{content:"";background:linear-gradient(45deg, transparent 46%, var(--ink) 46% 58%, var(--card-color) 58%);width:22px;height:22px;position:absolute;top:0;right:0}.record-header h3{letter-spacing:.01em;padding-right:1rem;font-size:1rem;line-height:1.25}.record-header p{font:700 .62rem/1.55 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:.375rem}.record-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;font-size:.9rem;line-height:1.6;display:flex}.record-body>.tags:last-child{margin-top:auto;padding-top:.35rem}.paperclip{width:26px;height:59px;color:var(--card-color);filter:drop-shadow(1px 1px 1px #0008);z-index:1;position:absolute;top:-1.7rem;right:2rem;transform:rotate(14deg)}.tags{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--ink);color:var(--card-color,var(--cream));font:700 .575rem/1.2 var(--font-mono), monospace;letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere;max-width:100%;padding:.3rem .45rem}.metadata-row{border-bottom:1px solid;flex-wrap:wrap;gap:.875rem;padding-bottom:.875rem;display:flex}.metadata-row>div{flex:1;min-width:5rem}.metadata-row dt{font:700 .6rem/1.5 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase}.metadata-row dd{font:500 .65rem/1.6 var(--font-mono), monospace;margin-top:.25rem}.record-period{font:700 .625rem/1.5 var(--font-mono), monospace;letter-spacing:.05em}.record-body .inline-action{color:inherit;background:0 0;border-color:currentColor;align-self:flex-start}.entry-details summary{min-height:44px;font:700 .65rem var(--font-mono), monospace;border-bottom:1px solid;align-items:center;display:inline-flex}.site-footer{margin-top:2.75rem;padding:1.5rem 1.25rem 1rem}.footer-grid{gap:1.75rem;display:grid}.footer-name{font:700 .85rem/1.4 var(--font-mono), monospace;text-transform:uppercase;margin-top:.5rem}.footer-focus{margin-top:.6rem;font-size:.55rem}.footer-email{font:.75rem/1.6 var(--font-mono), monospace;overflow-wrap:anywhere;margin:.5rem 0 .75rem;display:block}.colophon{margin-top:.5rem;font-size:.8rem;line-height:1.5}.micr{font:700 1rem/1 var(--font-mono), monospace;letter-spacing:.2em;white-space:nowrap;opacity:.4;border-top:2px solid;margin-top:1.4rem;padding-top:.75rem;overflow:hidden}.project-detail .page-panel{--page-accent:var(--ochre)}.project-detail h1{font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.02}.project-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:2rem;display:flex}.article-detail .page-panel{--page-accent:var(--clay)}.article-detail h1{font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.02}.article-detail .page-intro{max-width:65ch}.article-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.article-panel>.tags{margin-bottom:2rem}.article-sheet{width:100%;max-width:52rem;color:var(--ink);background:var(--paper) url(/design/marks.svg);border:var(--border-card) solid var(--ink);box-shadow:var(--offset-md) var(--offset-md) 0 var(--ink);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem)}.article-section{scroll-margin-top:2rem}.article-section+.article-section{border-top:3px solid var(--ink);margin-top:2.5rem;padding-top:2.5rem}.article-section h2{letter-spacing:-.02em;max-width:22ch;margin-top:.5rem;font-size:clamp(1.35rem,4vw,2rem);line-height:1.08}.article-copy{margin-top:1.25rem;font-size:clamp(1rem,1.5vw,1.08rem);line-height:1.75}.article-copy p+p,.article-copy p+ul,.article-copy ul+p{margin-top:1rem}.article-copy ul{margin-bottom:0;padding-left:1.35rem}.article-copy li+li{margin-top:.45rem}.article-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.source-list{margin:1.25rem 0 0;padding:0;list-style:none}.source-list li{border:2px solid var(--ink);background:var(--ochre);padding:1rem}.source-list li+li{margin-top:1rem}.source-list a{font:700 .75rem/1.55 var(--font-mono), monospace;display:inline-block}.source-list p{margin-top:.75rem;font-size:.9rem;line-height:1.6}.case-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem 1.625rem;display:grid}.case-section{margin-top:2.75rem}.workflow-list{margin:0;padding:0;list-style:none}.workflow-list li{border-bottom:1px solid #0a0a0a44;padding:.65rem 0 .65rem 1.5rem;position:relative}.workflow-list li:before{content:"∆";font-family:var(--font-mono), monospace;font-weight:700;position:absolute;left:0}.workflow-list li:last-child{border-bottom:0}.workflow-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.workflow-table th{font:700 .625rem var(--font-mono), monospace;border-bottom:2px solid;padding:.6rem 0}.workflow-table td{vertical-align:top;border-bottom:1px solid #0a0a0a44;padding:.7rem 0}.workflow-table td:first-child{width:3rem;font-family:var(--font-mono), monospace;padding-right:.75rem;font-size:.65rem}.coverage-group+.coverage-group{border-top:1px solid #0a0a0a44;padding-top:1rem}.coverage-group h4{font:700 .65rem var(--font-mono), monospace;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem}.project-showcase .section-heading{margin-bottom:2.75rem}.showcase-grid{grid-template-columns:minmax(0,1fr);gap:3.25rem 1.625rem;display:grid}.showcase-item{min-width:0;color:var(--ink);background:var(--paper);border:var(--border-card) solid var(--ink);box-shadow:var(--offset-md) var(--offset-md) 0 var(--ink);margin:0}.showcase-image-frame{aspect-ratio:8/5;background:var(--ink);border-bottom:3px solid var(--ink);overflow:hidden}.showcase-image-frame img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.showcase-item figcaption{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem;display:flex}.showcase-item h3{font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.1}.showcase-item figcaption>p:not(.eyebrow,.showcase-role){font-size:.9rem;line-height:1.65}.showcase-role{border-bottom:1px solid var(--ink);font:700 .65rem/1.5 var(--font-mono), monospace;padding-bottom:.65rem}.showcase-links{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.showcase-links .inline-action{overflow-wrap:anywhere;text-align:left;max-width:100%}.profile-ledger{gap:1.75rem;display:grid}.ledger-record{min-width:0}.ledger-marker{font:700 .75rem/1.6 var(--font-mono), monospace}.contact-link{overflow-wrap:anywhere;font-family:var(--font-mono), monospace}@media (min-width:768px){.site-header{padding:1.375rem}.primary-nav{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.primary-nav a{text-transform:lowercase;min-height:35px}.page-panel{padding:2.125rem 1.875rem 2.75rem}.card-grid,.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr 1.1fr;gap:1.25rem}.site-footer{padding:1.625rem 1.375rem 1rem}.inline-action{min-height:35px}.menu-trigger{min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*,:before,:after{transition:none!important}}.experience-panel,.about-panel{--page-accent:var(--olive)}.writing-panel,.contact-panel{--page-accent:var(--clay)}.projects-page .page-panel{--page-accent:var(--ochre)}.home-sections>.content-section+.content-section{margin-top:0}.project-stamp{color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:700 .75rem/1.4 var(--font-mono), monospace;text-transform:uppercase;margin-left:auto;padding:.5rem .75rem;transform:rotate(-3deg)}.case-grid>.case-section{margin-top:0;display:flex}.case-grid>.case-section>.record-card{width:100%}.project-detail .metadata-row{gap:.8rem;display:grid}.project-detail .metadata-row>div{grid-template-columns:1fr;gap:.25rem;display:grid}.workflow-table tbody th{vertical-align:top;width:3rem;font:700 .85rem/1.6 var(--font-mono), monospace;border-bottom:1px solid #0a0a0a44;padding-right:.75rem}.workflow-table td{font-size:.84rem;line-height:1.65}.ledger-record{gap:.75rem;display:grid}.ledger-marker{align-self:start;align-items:center;gap:.7rem;margin-top:1.75rem;display:flex}.ledger-marker strong{background:var(--card-color);border:3px solid var(--ink);width:3.5rem;height:3.5rem;box-shadow:5px 5px 0 var(--ink);font:400 1.2rem var(--font-display), sans-serif;place-items:center;display:grid}.ledger-marker span{font-size:.65rem}.profile-ledger{gap:2.5rem}@media (min-width:768px){.ledger-record{grid-template-columns:5.5rem minmax(0,1fr);gap:1.75rem}.ledger-marker{flex-direction:column;margin-top:3.75rem}.ledger-marker strong{width:4.5rem;height:4.5rem}.project-detail .metadata-row>div{grid-template-columns:7rem minmax(0,1fr)}.workflow-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;display:grid}.coverage-section .record-body{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.coverage-group+.coverage-group{border-top:0;border-left:1px solid #0a0a0a44;padding:0 0 0 1rem}.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
