.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--paper: #fbfaf7;--ink: #111111;--muted: #55514a;--line: #e6e1d8;--max-copy: 64ch;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:"Source Sans 3",Arial,Helvetica,sans-serif;font-size:18px;scrollbar-gutter:stable;view-transition-name:none}body{background:var(--paper);margin:0;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.18em}button,summary{font:inherit}::selection{background:#111;color:#fff}.site-shell{min-height:100vh;position:relative}.site-nav{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;padding:1.15rem 0 0 1.25rem;position:fixed;left:0;top:0;z-index:10}.nav-bar{display:block}.brand{display:block;font-size:.95rem;font-weight:700;line-height:1}.nav-panel{display:block}.nav-list{align-items:flex-start;display:flex;flex-direction:column;gap:.52rem;list-style:none;margin:0;padding:0}.nav-list a{display:block;font-size:.95rem;line-height:1}.nav-list a[aria-current=page]{text-decoration:underline;text-underline-offset:.18em}.menu-toggle{display:none}.page-main{margin-inline:auto;max-width:760px;min-height:100vh;padding:9vh 1.25rem 5rem;width:100%;view-transition-name:page-main}.content-column,.work-page{margin-left:auto;margin-right:auto;max-width:var(--max-copy);width:100%}.escaping-scatter{inset:0;overflow:hidden;position:fixed}.escaping-scatter canvas{display:block;height:100%;width:100%}.page-header{margin-bottom:2.25rem;max-width:var(--max-copy)}.kicker{color:var(--muted);font-size:.82rem;font-weight:400;line-height:1.2;margin:0 0 1rem;text-transform:lowercase}h1,h2,h3{font-family:"Source Sans 3",Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:0;line-height:1.12}h1{font-size:clamp(1.45rem,2.4vw,2.15rem);margin:0;max-width:18ch}.page-title{max-width:13ch}.page-title:has(+.lede){max-width:var(--max-copy)}h2{font-size:1.35rem;margin:0 0 1rem}h3{font-size:1.1rem;margin:0}p{line-height:1.55;margin:0 0 1.1rem;max-width:var(--max-copy)}.lede{color:var(--ink);font-size:1rem;line-height:1.55;margin-top:1.25rem}.about-copy p{font-size:1rem}.about-photos{appearance:none;background:transparent;border:2px solid var(--ink);cursor:pointer;display:block;margin:0;overflow:hidden;padding:0;position:absolute;right:1.25rem;top:1.15rem;width:clamp(11rem,17vw,15rem)}.about-photos:after{box-shadow:inset 0 0 0 1px #ffffff1f;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.about-photos:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.about-photo{aspect-ratio:1;backface-visibility:hidden;display:block;grid-area:1 / 1;height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;width:100%}.about-photo:first-child{position:relative}.about-photo.is-active{opacity:1;z-index:1}.icon-links{display:flex;gap:1rem;margin-top:1.8rem}.icon-links a{display:inline-flex;height:1.35rem;width:1.35rem}.icon-links svg{display:block;fill:none;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:100%}.stack{display:grid;gap:1rem}.section{padding-top:2rem}.section+.section{margin-top:4rem}.split{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.meta{color:var(--muted);font-size:.88rem;line-height:1.5}.pill-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1rem}.pill,.text-link{color:var(--ink);display:inline-flex;font-size:.9rem;line-height:1;text-decoration:underline;text-underline-offset:.18em}.work-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.work-item{border-top:1px solid var(--line);padding:1.25rem 0}.work-item:last-child{border-bottom:1px solid var(--line)}.work-heading{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.work-heading h2,.work-heading h3{font-size:1.05rem;font-weight:700;line-height:1.28;margin:0}.work-year{color:var(--muted);font-size:.86rem}.abstract{margin-top:1rem}.abstract summary{cursor:pointer;display:inline-flex;font-size:.88rem;list-style:none;user-select:none}.abstract summary::-webkit-details-marker{display:none}.abstract summary:before{content:"+ "}.abstract[open] summary:before{content:"- "}.tile-grid{display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem}.tile{aspect-ratio:1;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:1rem;text-decoration:none}.tile:hover{text-decoration:none}.tile-title{font-size:1rem;font-weight:700;line-height:1.18}.tile-meta{color:var(--muted);font-size:.78rem;line-height:1.4}.photo-tile{background-image:var(--tile-image);background-position:center;background-size:cover;filter:grayscale(1);overflow:hidden;padding:0;position:relative;transition:filter .18s ease}.photo-tile:before{background:#11111114;content:"";inset:0;position:absolute;transition:background .18s ease}.tile-overlay{align-items:end;background:linear-gradient(to top,#111111ad,#1110);color:#fff;display:flex;inset:0;opacity:0;padding:1rem;position:absolute;transition:opacity .18s ease}.photo-tile:hover:before,.photo-tile:focus-visible:before{background:#1110}.photo-tile:hover,.photo-tile:focus-visible{filter:grayscale(0)}.photo-tile:hover .tile-overlay,.photo-tile:focus-visible .tile-overlay{opacity:1}.resource-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.resource-item{border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:minmax(10rem,.8fr) minmax(0,1.4fr) auto;padding:1.1rem 0}.resource-item:last-child{border-bottom:1px solid var(--line)}.resource-item h2{font-size:1rem;font-weight:700;margin:0 0 .25rem}.resource-item h3{font-size:1rem;font-weight:700;line-height:1.28;margin:0}.resource-item p{margin-bottom:0}.blog-list{display:grid;gap:1.4rem;list-style:none;margin:0;padding:0}.blog-link{display:block;text-decoration:none}.blog-link:hover h2{text-decoration:underline;text-underline-offset:.18em}.blog-link h2{font-size:1.05rem;font-weight:700;margin:0 0 .4rem}.blog-link h3{font-size:1.05rem;font-weight:700;line-height:1.28;margin:0 0 .4rem}.blog-link:hover h3{text-decoration:underline;text-underline-offset:.18em}.prose h2,.prose h3{margin-top:2.5rem}.prose .page-title{max-width:var(--max-copy)}.prose a,.about-copy a{text-decoration:underline;text-decoration-color:#c9c2b8;text-decoration-thickness:.06em;text-underline-offset:.18em}.prose img{display:block;height:auto;margin:2rem 0;max-width:min(100%,var(--max-copy))}.prose .video-embed{margin:2rem 0;max-width:var(--max-copy)}.prose .video-embed iframe{aspect-ratio:16 / 9;border:0;display:block;width:100%}.prose ul{line-height:1.55;max-width:var(--max-copy)}.compact-prose p{font-size:.95rem}.abstract .compact-prose{margin-top:.75rem}.abstract p:last-child,.abstract .compact-prose p:last-child{margin-bottom:0}.publication-group+.publication-group{margin-top:3rem}.archive-groups .publication-group+.publication-group{margin-top:2.5rem}.section-heading{color:var(--muted);font-size:.9rem;font-weight:700;margin:0 0 .75rem;text-transform:uppercase}.post-nav{border-top:1px solid var(--line);margin-top:3rem;max-width:var(--max-copy);padding-top:1.25rem}.post-nav p{margin-bottom:.35rem}.post-nav-link{font-size:1rem;font-weight:700;line-height:1.3;text-decoration:underline;text-underline-offset:.18em}.page-main:has(.resource-directory){max-width:1040px}.resource-directory{max-width:none}.resource-section-intro{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:.85rem}.resource-section-intro .resource-title{margin-bottom:0;white-space:nowrap}.resource-index{display:flex;flex-wrap:wrap;font-size:.84rem;gap:.45rem 1.1rem;justify-content:flex-end}.resource-index a{color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}.resource-index a:hover,.resource-index a:focus-visible{color:var(--ink);text-decoration-color:currentColor}.resource-category{border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);padding:2.25rem 0 2.5rem;scroll-margin-top:2rem}.resource-category>h2{font-size:1.35rem;font-weight:700;margin:0}.resource-category-content{display:grid;gap:2rem}.resource-subsection{display:grid;gap:1.5rem;grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr)}.resource-subsection h3{color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.35;margin:.1rem 0 0}.simple-link-list{display:grid;gap:.7rem;line-height:1.45;list-style:none;margin:0;padding:0}.simple-link-list li{max-width:52ch}.simple-link-list .text-link{text-decoration:underline;text-decoration-color:#c9c2b8;text-decoration-thickness:.06em;text-underline-offset:.18em}::view-transition-old(page-main),::view-transition-new(page-main){animation-duration:.22s;animation-timing-function:ease}@media(prefers-reduced-motion:reduce){::view-transition-old(page-main),::view-transition-new(page-main){animation-duration:1ms}}@media(max-width:860px){html{scrollbar-gutter:auto}.site-nav{align-items:center;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:row;gap:1.5rem;justify-content:space-between;padding:1rem;position:sticky;width:100%}.nav-panel{margin-left:auto}.nav-list{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.65rem 1rem;justify-content:flex-end}.page-main{padding:clamp(2.75rem,7vh,4.5rem) 1rem 4.5rem}.page-header{margin-bottom:2.5rem}.about-photos{display:block;margin:0 0 1.75rem;position:static;width:min(100%,14rem)}.split,.resource-item{grid-template-columns:1fr}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.resource-section-intro{align-items:flex-start;flex-direction:column;gap:1rem}.resource-index{justify-content:flex-start}.resource-category{gap:1.25rem;grid-template-columns:1fr;padding:2rem 0}.resource-subsection{gap:.5rem;grid-template-columns:1fr}}@media(max-width:700px){html.menu-open{overflow:hidden}.site-nav{display:block;padding:0}.nav-bar{align-items:center;display:flex;justify-content:space-between;min-height:3.75rem;padding:.5rem .75rem .5rem 1rem;width:100%}.menu-toggle{align-items:center;appearance:none;background:transparent;border:0;color:var(--ink);cursor:pointer;display:inline-flex;height:2.75rem;justify-content:center;padding:0;width:2.75rem}.menu-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.menu-icon{display:grid;gap:5px;width:1.35rem}.menu-icon span{background:currentColor;display:block;height:2px;transform-origin:center;transition:opacity .16s ease,transform .16s ease;width:100%}.site-nav.is-open .menu-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-nav.is-open .menu-icon span:nth-child(2){opacity:0}.site-nav.is-open .menu-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-panel{background:var(--ink);color:#fff;left:0;margin:0;max-height:calc(100vh - 3.75rem);overflow-y:auto;padding:.65rem 1rem 1rem;position:absolute;right:0;top:100%}.nav-panel[hidden]{display:none}.nav-list{align-items:stretch;flex-direction:column;gap:0}.nav-list a{color:#fff;font-size:1.05rem;line-height:1.2;padding:.72rem 0}.nav-list a[aria-current=page]{text-decoration-color:#fff}.page-main{padding-top:2.5rem}}@media(max-width:520px){html{font-size:16px}.work-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.tile-grid{grid-template-columns:1fr}}
