* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; background: #fff; color: #404040; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.75; -webkit-font-smoothing: antialiased; }
main { max-width: 42rem; margin: 0 auto; padding: 7.75rem 1rem 6rem; }
.portrait { width: 4rem; height: 4rem; margin-bottom: 2rem; border-radius: 50%; overflow: hidden; }
.portrait img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.3); transform-origin: 50% 35%; }
h1, h2, h3 { font-size: 1rem; line-height: inherit; margin: 0; }
h1 { font-weight: 500; margin-bottom: 2rem; }
h2 { font-size: .875rem; font-weight: 400; margin-bottom: 1.25rem; }
p { margin: 0 0 1.75rem; }
a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: #888; }
a:hover { color: #000; text-decoration-color: #000; }
a:focus-visible { outline: 2px solid #444; outline-offset: 4px; }
em { font-family: Georgia, 'Times New Roman', serif; font-size: 1.08em; font-weight: 400; }
.columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 4rem; }
ul { list-style: none; padding: 0; margin: 0; }
li { margin-bottom: 1.75rem; }
li p { margin: .125rem 0 0; }
.arrow { font-size: .875rem; text-decoration: none; }
.back { display: inline-block; font-size: .875rem; margin-bottom: 2.25rem; }
.project h1 { margin-bottom: .25rem; }
.context { color: #737373; font-size: .875rem; margin-bottom: 2.5rem; }
.project h2 { margin-top: 2.5rem; margin-bottom: .75rem; }
.note { color: #737373; font-size: .875rem; }
.writing { margin-top: 3rem; }
.writing p { color: #737373; }
.project-image { margin: 2rem 0 0; }
.project-image img { display: block; width: 100%; height: auto; }
.project-image figcaption { margin-top: .75rem; color: #737373; font-size: .875rem; }
@media (max-width: 650px) { main { padding: 4rem 1.5rem; } .columns { grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3rem; } }
@media (max-width: 430px) { main { padding-top: 3rem; } .columns { grid-template-columns: 1fr; gap: 1.5rem; } li { margin-bottom: 1.25rem; } h2 { margin-bottom: 1rem; } }
