@font-face{font-family:Public Sans;src:url('/fonts/public-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#252829;--muted:#5b6061;--accent:#a63224;--line:#dfe2e2;--surface:#fff;--quiet:#f1f3f3;--focus:#8b251a;font-family:Public Sans,Arial,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}
*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;font-size:1.0625rem;line-height:1.65}a{overflow-wrap:anywhere;color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:1px}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{hyphens:auto;overflow-wrap:anywhere;line-height:1.15;font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(2.65rem,5vw,3.65rem)}h2{font-size:1.6rem}h3{font-size:1.3rem}img{display:block;width:100%;height:auto;max-width:100%}.skip{position:fixed;z-index:10;left:18px;top:12px;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-160%)}.skip:focus{transform:none;color:white}.layout{display:grid;grid-template-columns:190px minmax(0,720px);gap:72px;max-width:1134px;padding:70px 38px 30px;margin:0 auto}.rail{align-self:start;position:sticky;top:54px}.identity{display:inline-block;font-size:1.02rem;font-weight:600;text-decoration:none;padding:6px 0}.identity:before{content:'A';display:grid;place-items:center;width:32px;height:34px;margin-bottom:15px;background:var(--accent);color:white;font-size:1.1rem;line-height:1}.rail nav{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:27px}.rail nav a{font-size:.86rem;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding-right:18px}.rail nav a:hover{color:var(--accent);text-decoration:underline}.rail-note{font-size:.74rem;line-height:1.6;color:var(--muted);margin-top:50px;max-width:150px}.rail-note a{white-space:nowrap}.content{min-width:0}.intro{padding:4px 0 46px}.intro .lead{font-size:1.4rem;line-height:1.5;letter-spacing:-.02em;margin-top:22px;max-width:650px}.intro .context{font-size:.96rem;color:var(--muted);margin-top:18px;max-width:590px}.intro a,.text-link{color:var(--accent)}.section-label{font-size:.83rem;letter-spacing:.025em;font-weight:500;color:var(--muted);margin-bottom:24px}.work-entry{margin-bottom:43px}.work-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.work-heading h3{font-size:1.5rem}.work-heading a{color:var(--ink);text-decoration:none}.work-heading a:hover{color:var(--accent)}.work-heading .arrow{font-size:1.4rem;color:var(--accent);font-weight:400}.role{font-size:.81rem;color:var(--muted);line-height:1.5;margin-top:7px}.work-entry .description{font-size:.99rem;line-height:1.7;max-width:620px;margin-top:15px}.work-entry figure{margin-top:21px}.project-image{display:block;overflow:hidden;border:1px solid var(--line);background:var(--quiet)}.project-image img{width:100%}.project-image:focus-visible{outline-offset:5px}.work-entry .image-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.76rem;line-height:1.5;color:var(--muted)}.image-label a{font-size:.82rem;color:var(--accent)}.checker-frame{padding:24px;background:#eef1f7;border-color:#dde1e8}.plain-section{border-top:1px solid var(--line);padding-top:30px;margin-top:56px}.plain-section h2{font-size:1.35rem;margin-bottom:20px}.plain-section p{margin-bottom:17px;max-width:630px}.plain-section p:last-child{margin-bottom:0}.contact .email{display:inline-block;font-size:clamp(1rem,2.5vw,1.32rem);font-weight:500;line-height:1.5;color:var(--accent);overflow-wrap:anywhere;margin:2px 0 14px}.contact .secondary{font-size:.86rem;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:64px;padding:22px 0 12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}footer .links{display:flex;flex-wrap:wrap;gap:22px}footer a{display:inline-block;min-height:28px}.preview{font-size:.7rem;color:var(--muted);margin-top:10px}.back{display:inline-block;font-size:.86rem;color:var(--accent);margin-bottom:30px;min-height:30px}.detail-header{margin-bottom:32px}.detail-header .summary{font-size:1.22rem;line-height:1.6;max-width:650px;margin-top:22px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:.83rem}.project-meta dt{color:var(--muted);margin-bottom:5px}.project-meta dd{margin:0;line-height:1.6}.detail-figure{margin:30px 0 36px}.detail-figure figcaption{color:var(--muted);font-size:.75rem;margin-top:12px;line-height:1.6}.prose{max-width:640px}.prose section{margin-top:34px}.prose h2{font-size:1.3rem;margin-bottom:15px}.prose p{margin-bottom:16px}.prose ul{padding-left:22px;margin:12px 0 22px}.prose li{margin-bottom:10px}.visit{display:inline-flex;gap:16px;align-items:center;min-height:46px;color:var(--accent);font-weight:500;margin-top:9px}.next-work{margin-top:48px;padding-top:23px;border-top:1px solid var(--line);font-size:.88rem}.next-work a{color:var(--accent)}.small-page h1{font-size:2.6rem}.small-page .prose{margin-top:27px}.small-page .dated{font-size:.79rem;color:var(--muted)}
@media(max-width:1000px){.layout{grid-template-columns:150px minmax(0,1fr);gap:42px;padding-left:30px;padding-right:30px}.intro .lead{font-size:1.25rem}.checker-frame{padding:17px}}
@media(max-width:760px){html{scroll-padding-top:20px}.layout{display:block;padding:22px 22px 20px;max-width:720px}.rail{position:static;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:24px}.identity{display:flex;align-items:center;gap:10px;font-size:.89rem;white-space:nowrap;min-height:44px}.identity:before{width:25px;height:27px;font-size:.9rem;margin:0}.rail nav{flex-direction:row;gap:17px;margin:0}.rail nav a{font-size:.77rem;padding:0}.rail-note{display:none}.intro{padding:18px 0 35px}.intro .lead{font-size:1.2rem;margin-top:21px}.intro .context{font-size:.91rem;margin-top:18px}.section-label{margin-bottom:22px}.work-entry{margin-bottom:38px}.work-heading h3{font-size:1.32rem}.work-entry .description{font-size:.96rem}.work-entry figure{margin-top:18px}.work-entry .image-label{font-size:.7rem;align-items:start}.checker-frame{padding:12px}.plain-section{margin-top:42px;padding-top:26px}.plain-section p{font-size:.96rem}.contact .secondary{font-size:.82rem}.back{margin:10px 0 23px}.detail-header .summary{font-size:1.15rem}.project-meta{grid-template-columns:1fr;gap:17px;margin-top:24px;padding-top:21px}.project-meta dt{font-size:.75rem}.detail-figure{margin:24px 0 30px}.prose{font-size:.96rem}.prose h2{font-size:1.25rem}footer{margin-top:43px;gap:12px;font-size:.71rem}.small-page h1{font-size:2.25rem}}
@media(max-width:370px){.layout{padding:17px 16px}.rail{gap:10px;flex-wrap:wrap;padding-bottom:13px}.rail nav{gap:22px}.rail nav a{font-size:.79rem}.identity{font-size:.9rem}.intro h1{font-size:2.45rem}.work-entry .image-label{display:block}.image-label a{display:inline-block;min-height:40px;margin-top:4px}.checker-frame{padding:8px}}
@media print{.rail,.skip,footer,.preview{display:none}.layout{display:block;padding:0;max-width:100%}body{font-size:11pt}.intro{padding-top:0}a{color:inherit}.project-image{max-width:500px}.work-entry,.detail-figure{break-inside:avoid}h1,h2,h3{break-after:avoid}}
