@import "https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&display=swap";.react-activity-calendar__tooltip{color:#f0f0f0;background-color:#1a1a1a;border-radius:.25em;width:max-content;max-width:calc(100vw - 20px);padding:.2em .5em;font-size:13px}.react-activity-calendar__tooltip .react-activity-calendar__tooltip-arrow{fill:#1a1a1a}.react-activity-calendar__tooltip[data-color-scheme=dark]{color:#0f0f0f;background-color:#f0f0f0}.react-activity-calendar__tooltip[data-color-scheme=dark] .react-activity-calendar__tooltip-arrow{fill:#f0f0f0}:root{--paper:#f6f2eb;--paper-deep:#efe8dc;--paper-soft:#fbf8f2;--ink:#2d2d31;--muted:#78787f;--line:#2d2d311c;--line-soft:#2d2d310f;--blue-wash:#d9e3ff;--orange-tint:#f2672ea3;--blue-tint:#2e40ffad;--yellow-tint:#ffe74a99;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Instrument Sans", "Segoe UI", sans-serif;--max-width:1360px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 14% 10%, #ffffff8c, transparent 28%), linear-gradient(180deg, var(--paper) 0%, #f8f4ed 42%, var(--paper-deep) 100%);min-width:320px;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{font:inherit}:focus-visible{outline-offset:4px;outline:2px solid #2e40ff59}#root{min-height:100vh}.reference-page{width:min(100%, var(--max-width));margin:0 auto;padding:3.75rem 2.75rem 0}.reference-intro,.reference-work-section,.reference-journey-section{grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr);gap:5.75rem;display:grid}.reference-intro{align-items:start;min-height:76vh;padding-top:1.6rem}.reference-left-column{flex-direction:column;gap:3rem;padding-top:.25rem;display:flex}.reference-identity{gap:.75rem;max-width:21rem;display:grid}.reference-name-block{gap:.32rem;display:grid}.reference-mark,.reference-footer-mark{object-fit:cover;border-radius:.45rem;width:2.15rem;height:2.15rem;display:block;box-shadow:0 10px 20px #2d2d3114}.reference-name-block h1,.reference-footer-copy h2,.reference-section-heading h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-style:italic;font-weight:600;line-height:.9}.reference-name-block h1,.reference-footer-copy h2{font-size:clamp(2.25rem,4vw,3.25rem);line-height:.96}.reference-name-block p,.reference-section-heading p,.reference-work-copy p,.reference-intro-copy,.reference-footer-copy p,.reference-journey-copy span{color:var(--muted);margin:0;font-size:.96rem;line-height:1.42}.reference-links,.reference-footer-links div{flex-wrap:wrap;gap:.95rem;display:flex}.reference-links a,.reference-text-link,.reference-footer-links a{color:var(--muted);transition:color .18s,transform .18s}.reference-links a:hover,.reference-text-link:hover,.reference-footer-links a:hover{color:var(--ink);transform:translateY(-1px)}.reference-text-link,.reference-section-link,.secondary-inline-link,.secondary-back,.writing-index-button{appearance:none;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.reference-note-list{gap:.65rem;width:min(100%,18.75rem);margin-top:clamp(5rem,12vh,9rem);display:grid}.reference-note-card{text-align:left;cursor:pointer;background:#ffffff8a;border:1px solid #2d2d310e;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.72rem;width:100%;padding:.45rem .55rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 12px 24px #2d2d3108}.reference-note-card:hover{border-color:#2d2d311c;transform:translateY(-2px);box-shadow:0 16px 30px #2d2d310f}.reference-note-card img{object-fit:cover;width:3rem;height:3rem}.reference-note-copy{gap:.08rem;min-width:0;display:grid}.reference-note-copy span{font-family:var(--serif);color:#9c9ca3;font-size:.84rem;font-style:italic}.reference-note-copy strong{text-transform:uppercase;letter-spacing:.035em;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.reference-note-copy small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.reference-right-column{align-content:start;justify-items:start;gap:1.85rem;padding-top:.2rem;display:grid}.reference-portrait{aspect-ratio:1.16;width:min(100%,38rem);margin:0;overflow:hidden}.reference-portrait img{object-fit:cover;object-position:center 14%;filter:saturate(.9)contrast();width:100%;height:100%}.reference-intro-copy{color:#515159;max-width:42rem;font-size:clamp(1.1rem,1.5vw,1.24rem);line-height:1.58}.reference-work-section,.reference-journey-section{align-items:start;margin-top:8rem}.reference-section-heading{gap:.5rem;max-width:15rem;padding-top:1.1rem;display:grid}.reference-section-heading h2{font-size:clamp(2rem,3vw,2.7rem);line-height:.96}.reference-section-heading-wide{max-width:22rem}.reference-section-link{width:fit-content;color:var(--muted);margin-top:.2rem;transition:color .18s,transform .18s}.reference-section-link:hover{color:var(--ink);transform:translateY(-1px)}.reference-work-list{gap:5.75rem;display:grid}.reference-work-card{justify-self:end;gap:1rem;width:min(100%,60rem);display:grid}.reference-work-card.is-shifted{width:min(100%,56rem)}.reference-work-image{aspect-ratio:1.62;will-change:transform;background:#ddd;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 38px #2d2d310f}.reference-work-image img{object-fit:cover;filter:grayscale(.05)contrast(.95);width:100%;height:100%;transform:scale(1.015)}.reference-work-image:after{content:"";mix-blend-mode:multiply;position:absolute;inset:0}.reference-work-image.is-orange:after{background:var(--orange-tint)}.reference-work-image.is-blue:after{background:var(--blue-tint)}.reference-work-image.is-yellow:after{background:var(--yellow-tint)}.reference-work-meta{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.35rem;display:grid}.reference-work-copy{gap:.28rem;max-width:32rem;display:grid}.reference-work-title,.reference-group-label,.reference-footer-links span{font-family:var(--serif);font-size:1.08rem;font-style:italic;font-weight:600}.reference-work-side{text-align:right;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-items:end;gap:.42rem;font-size:.72rem;display:grid}.reference-work-link{color:var(--ink);text-transform:none;letter-spacing:0;align-items:center;gap:.35rem;font-size:.86rem;transition:transform .18s,color .18s;display:inline-flex}.reference-work-link:hover{color:#1f2136;transform:translateY(-1px)}.reference-journey-section{grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:7rem;margin-top:10rem}.reference-journey-list{gap:4rem;max-width:49rem;padding-top:.35rem;display:grid}.reference-journey-group{gap:1.35rem;display:grid}.reference-journey-rows{display:grid}.reference-journey-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem;padding:1.15rem 0;display:grid}.reference-journey-copy{gap:.28rem;display:grid}.reference-journey-copy strong{font-size:1rem;font-weight:500}.reference-journey-copy em{color:#4f5059;letter-spacing:.01em;font-size:.88rem;font-style:normal}.reference-journey-date{min-width:5.25rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;text-align:right;padding-top:.12rem;font-size:.72rem}.reference-footer-band{background:linear-gradient(135deg,#ffffff73 0%,#edf1ffeb 38%,#d8e2ff 100%);width:100vw;margin-top:8.5rem;margin-left:calc(50% - 50vw)}.reference-footer{width:min(100%, var(--max-width));grid-template-columns:minmax(0,1fr) auto;gap:2.75rem 4.75rem;min-height:92vh;margin:0 auto;padding:3.1rem 2.75rem;display:grid;position:relative}.github-contribution-section{grid-column:1/-1;gap:1.4rem;padding:0 0 1.35rem;display:grid}.github-contribution-header{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);align-items:end;gap:1.75rem;display:grid}.github-contribution-header h3{font-family:var(--serif);letter-spacing:-.02em;margin:.28rem 0 0;font-size:clamp(1.8rem,3vw,2.5rem);font-style:italic;font-weight:600;line-height:.96}.github-contribution-header p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.github-calendar-wrap{background:#fcf9f494;border:1px solid #2d2d3114;padding:1.3rem 1.45rem 1rem;overflow-x:auto;box-shadow:0 18px 44px #2d2d310d}.github-calendar-wrap::-webkit-scrollbar{height:10px}.github-calendar-wrap::-webkit-scrollbar-thumb{background:#2d2d3124}.github-calendar-wrap .react-activity-calendar{min-width:720px;color:var(--ink)}.github-calendar-wrap text{fill:#555760;font-family:var(--sans)}.github-calendar-wrap a{color:var(--muted)}.github-calendar-wrap rect{rx:2.5px;ry:2.5px}.reference-footer-copy{align-content:start;gap:.95rem;max-width:33rem;display:grid}.reference-footer-availability{color:var(--ink);max-width:29rem;margin-top:.15rem;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;line-height:1.5}.reference-footer-cta{flex-wrap:wrap;gap:1rem 1.4rem;margin-top:.4rem;display:flex}.reference-footer-cta a{letter-spacing:.025em;color:var(--ink);border:1px solid var(--line);padding:.55rem 1.2rem;font-size:.82rem;text-decoration:none;transition:background .18s,color .18s}.reference-footer-cta a:hover{background:var(--ink);color:var(--paper)}.reference-footer-links{align-items:start;gap:3.4rem;display:flex}.reference-footer-links div{align-content:start;gap:.48rem;display:grid}.reference-footer-mark{position:absolute;bottom:2.75rem;left:2.75rem}.reference-footer-credit{color:#2d2d3157;font-size:.8rem;position:absolute;bottom:2.75rem;right:2.75rem}.secondary-page{min-height:100vh;padding:2rem 2.75rem 3rem}.secondary-back{color:var(--muted);align-items:center;gap:.55rem;transition:color .18s,transform .18s;display:inline-flex}.secondary-back:hover,.secondary-inline-link:hover{color:var(--ink);transform:translateY(-1px)}.secondary-page-shell,.article-page-shell{width:min(100%,1200px);margin:2.25rem auto 0}.secondary-hero{gap:.65rem;max-width:42rem;margin-bottom:4rem;display:grid}.secondary-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.secondary-hero h1,.article-page-header h1,.archive-project-copy h2,.writing-index-copy h2{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0;font-style:italic;font-weight:600}.secondary-hero h1{font-size:clamp(2.35rem,4vw,3.9rem);line-height:.94}.secondary-hero p,.archive-project-copy p,.writing-index-copy p,.article-page-header p,.article-page-body p{color:var(--muted);margin:0;line-height:1.6}.article-page-body p{white-space:pre-line}.secondary-inline-link{width:fit-content;color:var(--muted);margin-top:.55rem}.archive-project-list,.writing-index-list{gap:1.3rem;display:grid}.archive-project-card,.writing-index-row{border-top:1px solid var(--line);padding:1.4rem 0 1.55rem}.archive-project-meta,.writing-index-meta,.article-page-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:.7rem;font-size:.72rem;display:flex}.archive-project-main{grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);align-items:start;gap:2rem;margin-top:.8rem;display:grid}.archive-project-copy{gap:.4rem;display:grid}.archive-project-copy h2,.writing-index-copy h2{font-size:clamp(1.65rem,2.7vw,2.3rem);line-height:.98}.archive-project-side{justify-items:end;gap:1rem;display:grid}.archive-project-stack{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.archive-project-stack span{color:var(--muted);font-size:.78rem}.archive-project-link,.writing-index-cta{color:var(--ink);align-items:center;gap:.4rem;display:inline-flex}.writing-index-button{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem;width:100%;display:grid}.writing-index-copy{gap:.45rem;display:grid}.article-page-shell{width:min(100%,780px)}.article-page-header{border-bottom:1px solid var(--line);gap:.8rem;padding-bottom:2rem;display:grid}.article-page-header h1{font-size:clamp(2.4rem,5vw,4rem);line-height:.94}.article-page-body{gap:1rem;padding-top:2rem;display:grid}.article-page-body h2{font-family:var(--serif);margin:1.5rem 0 0;font-size:clamp(1.6rem,3.5vw,2.2rem);font-style:italic;font-weight:600;line-height:.98}.reference-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f0e9bd;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.reference-modal{background:#fcf9f4f5;border:1px solid #2d2d310f;width:min(100%,42rem);padding:.85rem;position:relative;box-shadow:0 18px 42px #2d2d311a}.reference-modal-close{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.35rem;line-height:1;position:absolute;top:.55rem;right:.75rem}.reference-modal-single{width:min(100%,30rem)}.reference-media-feature{grid-template-columns:7rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.reference-media-feature img{object-fit:cover;width:7rem;height:9rem}.reference-media-copy{gap:.22rem;padding-top:.15rem;display:grid}.reference-media-copy h3{letter-spacing:-.02em;margin:0;font-size:1.72rem;line-height:.95}.reference-media-copy p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.4}.reference-media-rule{background:linear-gradient(90deg,#a77539 0% 42%,#2d2d311a 42% 100%);width:100%;height:.22rem;margin:.3rem 0 .12rem}.reference-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.72rem;display:grid}.reference-media-tile{gap:.36rem;display:grid}.reference-media-tile img{aspect-ratio:.72;object-fit:cover;width:100%}.reference-media-tile strong{letter-spacing:.01em;font-size:.82rem;line-height:1.16}.reference-media-tile span{color:var(--muted);font-size:.72rem}@media (width<=1100px){.reference-page{padding-inline:2rem}.reference-intro,.reference-work-section,.reference-journey-section{gap:4rem}.reference-portrait{width:min(100%,34rem)}}@media (width<=960px){.reference-page{padding:2rem 1.35rem 0}.reference-intro,.reference-work-section,.reference-journey-section,.reference-footer{grid-template-columns:1fr}.reference-intro{gap:2.35rem;min-height:auto}.reference-left-column{gap:1.65rem}.reference-note-list{margin-top:.5rem}.reference-section-heading,.reference-section-heading-wide{max-width:28rem;padding-top:0}.reference-work-section,.reference-journey-section{margin-top:5.5rem}.reference-work-card,.reference-work-card.is-shifted{width:100%}.archive-project-main,.writing-index-button{grid-template-columns:1fr}.archive-project-side{justify-items:start}.archive-project-stack{justify-content:flex-start}.reference-journey-list{gap:2.25rem}.reference-footer-band{margin-top:5.5rem}.reference-footer{min-height:auto;padding-bottom:5.5rem}.github-contribution-header{grid-template-columns:1fr}.secondary-page{padding-inline:1.35rem}}@media (width<=640px){.reference-page{padding-inline:1rem;padding-top:1.35rem}.reference-name-block h1,.reference-footer-copy h2{font-size:clamp(2rem,12vw,2.75rem)}.reference-intro-copy,.reference-name-block p,.reference-section-heading p,.reference-work-copy p,.reference-footer-copy p,.reference-journey-copy span{font-size:.92rem}.reference-intro{gap:1.9rem}.reference-left-column{gap:1.25rem}.reference-right-column{gap:1.15rem}.reference-note-list{width:100%;margin-top:.15rem}.reference-work-section,.reference-journey-section{margin-top:4.5rem}.reference-work-list{gap:3.4rem}.reference-section-heading{gap:.38rem}.reference-work-copy{gap:.22rem}.reference-work-meta,.reference-journey-row,.reference-footer-links,.reference-media-feature,.reference-media-grid{grid-template-columns:1fr}.reference-work-side,.reference-journey-date{text-align:left;justify-items:start}.reference-footer-links{gap:1.5rem}.reference-work-side,.reference-journey-date,.archive-project-meta,.writing-index-meta,.article-page-meta{font-size:.68rem}.reference-note-card{grid-template-columns:2.8rem minmax(0,1fr)}.reference-note-card img{width:2.8rem;height:2.8rem}.reference-footer{padding-inline:1rem;gap:1.5rem 2rem;padding-top:1.85rem}.github-calendar-wrap{padding-inline:1rem}.secondary-page{padding:1.25rem 1rem 2rem}.secondary-page-shell,.article-page-shell{margin-top:1.5rem}.secondary-hero{gap:.5rem;margin-bottom:2.5rem}.secondary-hero h1,.article-page-header h1{font-size:clamp(2rem,12vw,2.9rem)}.archive-project-card,.writing-index-row{padding:1.05rem 0 1.2rem}.archive-project-main,.writing-index-button{gap:1rem}.article-page-header{gap:.65rem;padding-bottom:1.35rem}.article-page-body{gap:.85rem;padding-top:1.35rem}.reference-footer-mark{bottom:1rem;left:1rem}.reference-footer-credit{bottom:1rem;right:1rem}}
