@font-face{font-family:Libre Caslon Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-display-latin-400-normal.n_DgBRfq.woff2)format("woff2"),url(/_astro/libre-caslon-display-latin-400-normal.BbfEE5V2.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-text-latin-400-normal.CfldDPV-.woff2)format("woff2"),url(/_astro/libre-caslon-text-latin-400-normal.WtjoQ5sB.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-text-latin-400-italic.snTzlHlN.woff2)format("woff2"),url(/_astro/libre-caslon-text-latin-400-italic.C1OAqZ6C.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/libre-caslon-text-latin-700-normal.D1WVYPaO.woff2)format("woff2"),url(/_astro/libre-caslon-text-latin-700-normal.B3n-DWsl.woff)format("woff")}:root{--paper:#f1ebdd;--paper-light:#f5f0e4;--ink:#221e18;--sepia:#6b5a43;--sepia-dark:#5c4c36;--rule-light:#c9bfa8;--tint:#e3c98a;--red-ink:#8b2e1e;--link-hover:#7a2e1e;--hatch:#221e1812;--display:"Libre Caslon Display", Georgia, serif;--text:"Libre Caslon Text", Georgia, serif;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--text);margin:0}a{color:var(--ink)}a:hover{color:var(--link-hover)}a:focus-visible{outline:2px solid var(--red-ink);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.smallcaps{font-variant:small-caps;letter-spacing:.04em}.page{flex-direction:column;max-width:1140px;min-height:100vh;margin:0 auto;padding:0 40px;display:flex}.page>main{flex:1}.button{background:var(--ink);min-height:48px;color:var(--paper);justify-content:center;align-items:center;padding:0 22px;font-size:17px;text-decoration:none;display:inline-flex}.button:hover{color:var(--paper)}.ill .w{fill:#0000}.ill .g{fill:var(--ill-ground,var(--paper))}.card .w{transition:fill .25s}.card .a{transition:stroke .25s}.card .af{transition:fill .25s,stroke .25s}.card:is(:hover,:focus-visible,:active) .w,.ill-coloured .w{fill:var(--tint)}.card:is(:hover,:focus-visible,:active) .a,.ill-coloured .a{stroke:var(--red-ink)}.card:is(:hover,:focus-visible,:active) .af,.ill-coloured .af{fill:var(--red-ink);stroke:var(--red-ink)}@media (prefers-reduced-motion:reduce){.card .w,.card .a,.card .af{transition:none}}.home-header{text-align:center;padding:64px 0 32px}.home-header h1{font-family:var(--display);margin:0;font-size:clamp(60px,9.5vw,116px);font-weight:400;line-height:.95}.subtitle{max-width:720px;margin:18px auto 0;font-size:24px;font-style:italic;line-height:1.4}.navbar{border-top:3px double var(--ink);border-bottom:1px solid var(--ink);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;column-gap:36px;font-size:14px;display:flex}.navbar a,.site-nav a,.wordmark{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-header{border-bottom:3px double var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:25px 0 11px;display:flex}.wordmark{font-family:var(--display);font-size:30px}.site-nav{letter-spacing:.16em;text-transform:uppercase;gap:28px;font-size:13px;display:flex}.projects{padding-top:44px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.card{border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-5px;color:var(--ink);text-align:center;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:6px;padding:22px 22px 24px;text-decoration:none;display:flex}.card:hover{color:var(--ink)}.card:focus-visible{outline:1px solid var(--ink);outline-offset:-5px;box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--red-ink)}.card-no{letter-spacing:.2em;text-transform:uppercase;font-size:12px}.card .ill{width:140px;height:140px}.card .ill-chordways{stroke-width:1.4px}.card-text{flex-direction:column;align-items:center;gap:6px;display:flex}.card-kicker{display:none}.card-name{font-variant:small-caps;letter-spacing:.06em;font-size:22px;font-weight:700}.card-latin{font-size:17px;font-style:italic}.card-line{max-width:260px;margin-top:4px;font-size:16px;line-height:1.45}.card-status{color:var(--sepia);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;font-size:13px}.work{border-top:3px double var(--ink);text-align:center;margin-top:64px;padding-top:40px}.work h2{font-family:var(--display);margin:0;font-size:44px;font-weight:400;line-height:1}.work-sentence{max-width:620px;margin:16px auto 0;font-size:19px;line-height:1.6}.work-kinds{max-width:620px;color:var(--sepia-dark);margin:6px auto 0;font-size:17px;line-height:1.6}.work-button{margin-top:24px}.footer{text-align:center;padding:56px 0 48px}.footer-rule{border-top:1px solid var(--ink);width:120px;margin:0 auto 20px}.footer-about{max-width:640px;margin:0 auto;font-size:17px;line-height:1.6}.footer-contact{letter-spacing:.14em;text-transform:uppercase;margin:12px 0 0;font-size:14px}.footer-email{letter-spacing:.04em;text-transform:none}.title{flex-wrap:wrap;align-items:center;gap:32px;padding:44px 0 32px;display:flex}.title-frame{--ill-ground:var(--paper-light);border:3px double var(--ink);background:var(--paper-light);flex:0 0 150px;justify-content:center;align-items:center;height:150px;display:flex}.title-frame .ill{stroke-width:1.6px;width:118px;height:118px}.title-text{flex:320px;min-width:0}.kicker{color:var(--sepia);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:13px}.title h1{font-family:var(--display);margin:8px 0 0;font-size:72px;font-weight:400;line-height:.95}.title-latin{font-family:var(--text);white-space:nowrap;font-size:26px;font-style:italic}.title-line{max-width:680px;margin:14px 0 0;font-size:22px;line-height:1.45}.title-button{flex:none}.panel{border-top:1px solid var(--ink);margin:0;padding-top:32px}.panel-frame{border:3px double var(--ink);padding:12px}.panel-ground{--ill-ground:var(--paper-light);background-color:var(--paper-light);background-image:repeating-linear-gradient(115deg, var(--hatch) 0 1px, transparent 1px 5px);justify-content:center;align-items:center;height:380px;display:flex}.panel .ill{stroke-width:1.2px;width:330px;height:330px}.panel .ill-basetones{stroke-width:.9px}.panel .ill-basetones .a{stroke-width:1.2px}.panel figcaption{text-align:center;margin-top:10px;font-size:14px;font-style:italic}.project-body{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:48px;padding:40px 0 48px;display:grid}.description p{margin:0 0 14px;font-size:18px;line-height:1.7}.description p:last-child{margin-bottom:0}.details{border-top:1px solid var(--ink);grid-column:2;align-self:start;margin:0;font-size:17px}.details>div{border-bottom:1px solid var(--rule-light);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.details>div:last-child{border-bottom-color:var(--ink)}.details dt{font-variant:small-caps;letter-spacing:.06em;font-weight:700}.details dd{text-align:right;margin:0}@media (width<=860px){.project-body{grid-template-columns:minmax(0,1fr);gap:24px}.details{grid-column:auto}}.project-nav{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:12px;padding:8px 0;font-size:17px;display:flex}.project-nav a{align-items:center;column-gap:.3em;min-height:44px;text-decoration:none;display:inline-flex}.pn-all{letter-spacing:.16em;text-transform:uppercase;font-size:13px}.project-nav .pn-all-narrow{display:none}@media (width<=640px){.page{padding:0 16px}.home-header{padding:44px 0 22px}.home-header h1{max-width:5em;margin:0 auto;font-size:58px}.subtitle{margin-top:14px;font-size:19px}.navbar{column-gap:24px;padding:10px 0;font-size:12px}.projects{padding-top:24px}.grid{flex-direction:column;gap:14px;display:flex}.card{text-align:left;flex-direction:row;gap:14px;padding:14px}.card-no,.card-status{display:none}.card .ill{stroke-width:1.5px;flex:none;width:84px;height:84px}.card .ill-chordways{stroke-width:1.6px}.card-text{align-items:flex-start;gap:3px;min-width:0}.card-kicker{color:var(--sepia);letter-spacing:.16em;text-transform:uppercase;font-size:11px;display:block}.card-name{letter-spacing:.05em;font-size:20px}.card-latin{font-size:15px}.card-line{max-width:none;margin-top:0;font-size:15px;line-height:1.4}.work{margin-top:40px;padding-top:28px}.work h2{font-size:34px}.work-sentence{margin-top:12px;font-size:17px}.work-kinds{margin-top:4px;font-size:15px}.work-button{min-height:50px;margin-top:18px;display:flex}.footer{padding:44px 0 40px}.footer-rule{width:80px;margin-bottom:18px}.footer-about{font-size:16px}.footer-contact{font-size:12px}.site-header{align-items:center;gap:4px 12px;padding:16px 0 8px}.wordmark{font-size:24px}.site-nav{letter-spacing:.14em;gap:16px;font-size:11px}.site-nav .nav-contact{display:none}.title{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:0 16px;padding:28px 0 24px;display:grid}.title-frame{width:88px;height:88px}.title-frame .ill{stroke-width:1.8px;width:68px;height:68px}.title-text{display:contents}.kicker{letter-spacing:.18em;font-size:12px}.title h1,.title-line,.title-button{grid-column:1/-1}.title h1{margin-top:18px;font-size:54px}.title-latin{margin:6px 0 14px;font-size:21px;line-height:1.3;display:block}.title-line{margin:0;font-size:20px}.title-button{min-height:50px;margin-top:20px;display:flex}.panel{padding-top:22px}.panel-frame{padding:8px}.panel-ground{height:260px}.panel .ill{stroke-width:1.3px;width:220px;height:220px}.panel .ill-basetones{stroke-width:1px}.panel .ill-basetones .a{stroke-width:1.3px}.panel figcaption{margin-top:8px;font-size:13px}.project-body{padding:26px 0 28px}.description p{margin-bottom:12px;line-height:1.65}.details>div{padding:12px 0}.project-nav{border-bottom:0;flex-direction:column;align-items:stretch;padding:0}.project-nav a{border-bottom:1px solid var(--rule-light);min-height:52px}.project-nav .pn-next{justify-content:flex-end}.project-nav .pn-all-wide{display:none}.project-nav .pn-all-narrow{border-bottom-color:var(--ink);justify-content:center;font-size:12px;display:flex}}
