@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@font-face{font-family:Departure Mono;src:url(/fonts/departuremono.woff2) format("woff2");font-display:swap}:root{--paper: #f6f6f6;--ink: #1f2a38;--sans: "Inter", "Helvetica Neue", Arial, sans-serif;--mono: "Departure Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem}body{overflow-x:hidden}main{min-height:100vh;display:flex;flex-direction:column}.page-content{width:100%;padding:1.5rem}a,a:visited{color:inherit;text-decoration:none}p>a{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;text-transform:uppercase;font-family:var(--sans);font-weight:700;font-size:1rem}h2{margin-bottom:1rem}p{margin:0 0 1rem}hr,.thin-rule{border:0;border-top:1px solid var(--ink);margin:0}iframe{width:100%;max-width:100%;border:0;filter:grayscale(1) contrast(1.05)}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.5rem}.wordmark{text-transform:uppercase;font-weight:700;white-space:nowrap}.main-nav{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem;text-transform:uppercase}.contact-page h1,.about-page h1,.publications-page h1{padding-bottom:.9rem;border-bottom:1px solid var(--ink);margin-bottom:1.25rem}.home-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.5rem;align-items:start}.home-split .catalog-columns{grid-template-columns:1fr}.home-hero{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 45%;border:1px solid var(--ink);filter:grayscale(1) contrast(1.05);position:sticky;top:1.5rem}.catalog-page,.albums-page,.contact-page,.about-page{width:100%}.albums-page h1{margin-bottom:1rem}.catalog-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;margin-bottom:1rem}.catalog-column{min-width:0}.column-title{margin-bottom:.65rem}.catalog-grid{display:grid;grid-template-columns:1.15fr 3fr 1fr;gap:1rem;align-items:baseline;text-transform:uppercase}.albums-page .catalog-grid{grid-template-columns:1.15fr 3fr 1fr 1fr}.project-grid{grid-template-columns:3fr 1fr}.catalog-list{list-style:none;margin:0;padding:0}.catalog-row{padding:.8rem 0}.catalog-row-title{overflow-wrap:anywhere}.catalog-footer{margin-top:1.4rem;padding-top:.8rem;border-top:1px solid var(--ink);display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;justify-content:space-between;text-transform:uppercase}.project-page,.album-page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.project-content,.album-content{display:flex;flex-direction:column;gap:1rem}.project-header h1,.album-header h1{margin-bottom:.55rem}.blurb,.album-meta{text-transform:uppercase}.blurb{margin:0 0 .9rem}.album-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem}.project-content p,.album-content p{max-width:78ch}.album-content iframe{background:transparent}.about-grid{display:grid;grid-template-columns:minmax(180px,320px) minmax(0,1fr);gap:1.5rem;align-items:start}.about-me-photo{width:100%;height:auto;border:1px solid var(--ink);object-fit:cover;filter:grayscale(1) contrast(1.05)}.about-copy a{border-bottom:1px solid var(--ink)}.contact-intro{margin-bottom:1rem}.contact-page form{display:grid;gap:.55rem;max-width:760px}.contact-page label{text-transform:uppercase}.contact-page input,.contact-page textarea,.contact-page button{width:100%;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;font:inherit;padding:.65rem .75rem}.contact-page textarea{min-height:220px;resize:vertical}.contact-page button{width:fit-content;min-width:200px;text-transform:uppercase;cursor:pointer}.publications-table-wrap{margin-top:2rem;width:100%;overflow-x:auto;border-top:1px solid var(--ink)}.publications-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}.publications-table .col-year{width:7rem}.publications-table .col-category{width:9.5rem}.publications-table th,.publications-table td{text-align:left;vertical-align:top;padding:.8rem .6rem;border-bottom:1px solid var(--ink)}.publications-table th{text-transform:uppercase;padding-top:1rem}.publications-table td:first-child{white-space:nowrap;padding-left:0}.publications-table th:first-child,.publications-table th:nth-child(2),.publications-table td:nth-child(2){padding-left:0}.publications-table td:last-child,.publications-table th:last-child{text-transform:uppercase;white-space:nowrap}.publications-table a{text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:1px}@media(max-width:980px){.home-split{grid-template-columns:1fr}.home-hero{position:static;aspect-ratio:3 / 2}.catalog-columns{grid-template-columns:1fr;gap:1.4rem}}@media(max-width:700px){.page-content{padding:1.25rem}.site-header{align-items:flex-start;flex-direction:column;padding:1.25rem}.wordmark{white-space:normal}.main-nav{width:100%;justify-content:flex-start;row-gap:.45rem}.catalog-grid,.project-grid{grid-template-columns:1fr 1.2fr;gap:.45rem .7rem}.albums-page .catalog-grid{grid-template-columns:1fr 1.2fr}.catalog-row{padding:.75rem 0;grid-template-columns:minmax(6.5rem,auto) 1fr;gap:.35rem .7rem;align-items:start}.catalog-row-title{grid-column:1 / -1;margin-bottom:.2rem}.catalog-row>span:not(.catalog-row-title){min-width:0}.home-split .catalog-row{grid-template-columns:1fr auto;gap:.7rem;align-items:baseline;padding:.55rem 0}.home-split .catalog-row-title{grid-column:auto;margin-bottom:0}.home-split .catalog-row>.catalog-row-code{display:none}.home-split .catalog-row>span:not(.catalog-row-title){text-align:right;white-space:nowrap}.catalog-footer{margin-top:1rem;gap:.3rem;justify-content:flex-start;align-items:flex-start;flex-direction:column}.album-meta{flex-direction:column;gap:.4rem}.about-grid{grid-template-columns:1fr}.about-me-photo{max-width:280px}.publications-table-wrap{margin-top:1.5rem}.publications-table th,.publications-table td{padding:.65rem .5rem}}
