:root{--color-bg: #FBFAF7;--color-surface: #FFFFFF;--color-ink: #1E2522;--color-muted: #56605B;--color-pine: #1F4D3F;--color-pine-deep: #163A2F;--color-copper: #A44E25;--color-copper-light: #F0B48F;--color-rule: #DEDBD2;--color-on-pine: #F4F5EE;--color-on-pine-muted:#CBD8D1;--font-display: "Fraunces", ui-serif, Georgia, serif;--font-body: "Source Serif 4", ui-serif, Georgia, serif;--font-ui: "Inter", ui-sans-serif, system-ui, sans-serif;--radius: 3px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--color-pine);text-decoration-thickness:1px;text-underline-offset:0.15em}a:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px}.wrap{max-width:72rem;margin:0 auto;padding:0 2rem}.topbar{background:var(--color-pine-deep);color:var(--color-on-pine)}.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0.25rem 1.5rem;padding-top:0.9rem;padding-bottom:0.9rem}.brand{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.2;color:inherit;text-decoration:none}.topbar__id{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.1rem 1rem}.topbar nav{display:flex;gap:1.25rem}.topbar nav a{font-family:var(--font-ui);font-size:0.85rem;font-weight:600;color:var(--color-on-pine);text-decoration:none;padding-bottom:0.1rem;border-bottom:2px solid transparent}.topbar nav a:hover,.topbar nav a[aria-current="page"]{border-bottom-color:var(--color-copper-light)}.topbar a:focus-visible{outline-color:var(--color-copper-light)}.topbar span{font-family:var(--font-ui);font-size:0.8rem;font-weight:500;line-height:1.4;color:var(--color-on-pine-muted)}.hero{background:var(--color-pine);color:var(--color-on-pine);padding:5.5rem 0 5rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem, 5vw, 3.6rem);font-weight:600;line-height:1.12;letter-spacing:-0.015em;max-width:21em;margin:0}.hero hr{border:0;border-top:3px solid var(--color-copper-light);width:4rem;margin:2rem 0 1.5rem}.hero p{font-size:1.25rem;line-height:1.55;color:var(--color-on-pine-muted);max-width:40rem;margin:0}h2{font-family:var(--font-ui);font-size:0.78rem;font-weight:600;line-height:1.4;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-copper);margin:0 0 1.25rem}.split{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:3.5rem;padding-top:4rem;padding-bottom:1rem}.split p{margin:0}.topics{padding-top:3.5rem;padding-bottom:4rem}.grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.25rem}.tile{background:var(--color-surface);border:1px solid var(--color-rule);border-top:3px solid var(--color-pine);border-radius:var(--radius);padding:1.4rem 1.5rem 1.5rem}.tile h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.25;color:var(--color-pine-deep);margin:0 0 0.5rem}.tile p{font-family:var(--font-ui);font-size:0.92rem;line-height:1.55;color:var(--color-muted);margin:0}.tile--corpus{position:relative;background:var(--color-pine);border-color:var(--color-pine);border-top-color:var(--color-copper-light)}.tile--corpus:hover{background:var(--color-pine-deep)}.tile--corpus h3{color:var(--color-on-pine)}.tile--corpus p{color:var(--color-on-pine-muted)}.tile--corpus a{display:inline-block;margin-top:0.9rem;font-family:var(--font-ui);font-size:0.9rem;font-weight:600;line-height:1.4;color:var(--color-copper-light);text-decoration:none}.tile--corpus a::after{content:"";position:absolute;inset:0}.hero--page{padding:3.75rem 0 3.5rem}.hero--page h1{font-size:clamp(2rem, 4.2vw, 3rem)}.split--flush{padding-top:0;padding-bottom:3.5rem}.tile--workshop{position:relative;display:flex;flex-direction:column}.tile--workshop:hover{border-color:var(--color-pine)}.tile__year{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.1;color:var(--color-copper);margin-bottom:0.5rem}.tile--workshop .tile__meta{font-size:0.82rem;font-weight:500;color:var(--color-ink);margin-bottom:0.8rem}.tile--workshop .tile__outputs{font-size:0.82rem;font-style:italic;margin-top:0.8rem}.tile--workshop a{margin-top:auto;padding-top:1rem;font-family:var(--font-ui);font-size:0.9rem;font-weight:600;color:var(--color-pine);text-decoration:none}.tile--workshop a::after{content:"";position:absolute;inset:0}.pubs{display:grid;gap:1.5rem}.pub{display:grid;grid-template-columns:minmax(0, 25rem) minmax(0, 1fr);gap:2.5rem;align-items:start;background:var(--color-surface);border:1px solid var(--color-rule);border-top:3px solid var(--color-pine);border-radius:var(--radius);padding:1.75rem}.pub__media{display:flex;gap:1rem}.pub__thumb{display:block;min-width:0;text-decoration:none}.pub__thumb--paper{flex:0.7727 1 0}.pub__thumb--paper:only-child{flex:0 1 14rem}.pub__thumb--short{flex:0.5625 1 0}.pub__thumb--video{flex:1.7778 1 0}.pub__frame{position:relative;display:block;border:1px solid var(--color-rule);border-radius:var(--radius);overflow:hidden}.pub__thumb:hover .pub__frame{border-color:var(--color-pine)}.pub__frame img{display:block;width:100%;height:auto;object-fit:cover;object-position:top}.pub__thumb--paper img{aspect-ratio:8.5 / 11}.pub__thumb--short img{aspect-ratio:9 / 16}.pub__thumb--video img{aspect-ratio:16 / 9;object-position:center}.pub__frame--video::before{content:"";position:absolute;right:0.6rem;bottom:0.6rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-pine)}.pub__frame--video::after{content:"";position:absolute;right:1.42rem;bottom:1.3rem;border-style:solid;border-width:0.45rem 0 0.45rem 0.75rem;border-color:transparent transparent transparent var(--color-on-pine)}.pub__label{display:block;margin-top:0.6rem;font-family:var(--font-ui);font-size:0.85rem;font-weight:600;line-height:1.35;color:var(--color-pine)}.pub__body h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;margin:0 0 0.5rem}.pub__body h2 a{color:var(--color-pine-deep);text-decoration:none}.pub__body h2 a:hover{text-decoration:underline}.pub__body p{margin:0 0 1rem}.pub__body .pub__meta{font-family:var(--font-ui);font-size:0.85rem;color:var(--color-muted)}.pub__body .pub__doi{font-family:var(--font-ui);font-size:0.85rem;margin:0}.origins{border-top:1px solid var(--color-rule)}.origins .wrap{padding-top:3rem;padding-bottom:2.5rem}.origins p{max-width:46rem;margin:0 0 1em}.page{padding-top:4rem;padding-bottom:4rem}.page h1{font-family:var(--font-display);font-size:2.5rem;font-weight:600;line-height:1.2;color:var(--color-pine);margin:0 0 1.25rem}.site-footer{font-family:var(--font-ui);font-size:0.8rem;line-height:1.5;color:var(--color-muted);padding-bottom:2.5rem}.site-footer p{margin:0}@media (max-width: 56rem){.grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.split{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 56rem){.pub{grid-template-columns:1fr;gap:1.5rem}.pub__media{max-width:26rem}}@media (max-width: 36rem){.grid{grid-template-columns:1fr}.pub{padding:1.25rem}.wrap{padding:0 1rem}.hero{padding:3rem 0}.hero p{font-size:1.1rem}.split{padding-top:2.5rem}.split--flush{padding-top:0;padding-bottom:2.5rem}.topics{padding-top:2.5rem;padding-bottom:3rem}.page{padding-top:2.5rem;padding-bottom:2.5rem}}@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
