*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--font-display);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{color:var(--ink);margin:0;font-weight:700}h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--tr-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3);font-weight:600}p{margin:0 0 var(--s-4);max-width:var(--measure)}p:last-child{margin-bottom:0}img,video,canvas,svg{display:block;max-width:100%}img,video{height:auto}a{color:inherit}a.link{text-decoration:none;color:var(--ink);box-shadow:inset 0 -2px 0 var(--acc);transition:box-shadow var(--t-base) var(--ease)}a.link:hover{box-shadow:inset 0 -1.05em 0 var(--acc)}button{font:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.skip{position:absolute;left:-9999px;top:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--paper);z-index:100;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;text-decoration:none}.skip:focus{left:var(--s-3)}.wrap{max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;line-height:var(--lh-tight);color:var(--mute)}.micro{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;color:var(--mute)}.metric{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-metric);letter-spacing:-.02em;line-height:1;color:var(--ink)}.display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);color:var(--ink);font-weight:700}.mark{text-decoration:none;box-shadow:inset 0 -.3em 0 var(--acc)}.btn{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;padding:12px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;cursor:pointer;transition:background var(--t-micro) var(--ease),color var(--t-micro) var(--ease)}.btn--alt{background:transparent;color:var(--ink)}.btn--alt:hover{background:var(--ink);color:var(--paper)}.btn--acc{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.btn--acc:hover{background:var(--acc-hover);border-color:var(--acc-hover)}.btn--acc:active{background:var(--acc-press);border-color:var(--acc-press)}.btn--acc:focus-visible{background:var(--acc-hover);border-color:var(--acc-hover)}.section{padding-block:var(--section-pad);border-bottom:1px solid var(--line)}.prose{max-width:var(--measure)}.prose p{margin-bottom:var(--s-4)}.prose h2{margin:var(--s-8) 0 var(--s-4)}.prose h3{margin:var(--s-6) 0 var(--s-3)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cursor-dot{position:fixed;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--acc);pointer-events:none;z-index:9999;opacity:0;transform:translate3d(-100px,-100px,0);transition:background-color var(--t-micro) var(--ease)}.cursor-dot--ink{background:var(--acc-ink)}.cursor-dot--soft{background:var(--mute)}@supports (background: color-mix(in srgb,red 50%,transparent)){.cursor-dot--soft{background:color-mix(in srgb,var(--mute) 50%,transparent)}}.js-reveal [data-reveal]{opacity:0;transform:translateY(14px)}.js-reveal [data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--t-enter) cubic-bezier(.16,1,.3,1),transform var(--t-enter) cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay, 0ms)}@media(prefers-reduced-motion:reduce){.js-reveal [data-reveal]{opacity:1;transform:none}}.js-intro .in-l{opacity:0;transform:translate(-28px)}.js-intro .in-r{opacity:0;transform:translate(28px)}.js-intro .in-b{opacity:0;transform:translateY(32px)}.js-intro .ltr{opacity:0;position:relative;top:.14em}.js-intro.intro-hero .hero .in-l,.js-intro.intro-hero .in-r{opacity:1;transform:none;transition:opacity var(--t-enter) cubic-bezier(.16,1,.3,1) var(--d, 0ms),transform var(--t-enter) cubic-bezier(.16,1,.3,1) var(--d, 0ms)}.js-intro.intro-hero .ltr{opacity:1;top:0;transition:opacity .34s cubic-bezier(.16,1,.3,1) var(--d, 0ms),top .34s cubic-bezier(.16,1,.3,1) var(--d, 0ms)}.js-intro .in-b.go,.js-intro .in-l.go,.js-intro .in-r.go{opacity:1;transform:none;transition:opacity var(--t-enter) cubic-bezier(.16,1,.3,1) var(--d, 0ms),transform var(--t-enter) cubic-bezier(.16,1,.3,1) var(--d, 0ms)}.js-intro .work .work__art{opacity:0;transform:translateY(18px)}.js-intro .work.go .work__art{opacity:1;transform:none;transition:opacity var(--t-enter) cubic-bezier(.16,1,.3,1) calc(var(--d, 0ms) + .48s),transform var(--t-enter) cubic-bezier(.16,1,.3,1) calc(var(--d, 0ms) + .48s)}.js-intro .work .wc{opacity:0;transform:translateY(16px)}.js-intro .work.go.go2 .wc{opacity:1;transform:none;transition:opacity var(--t-enter) cubic-bezier(.16,1,.3,1) var(--dc, 0ms),transform var(--t-enter) cubic-bezier(.16,1,.3,1) var(--dc, 0ms)}@media(prefers-reduced-motion:reduce){.js-intro .in-l,.js-intro .in-r,.js-intro .in-b,.js-intro .ltr,.js-intro .work .work__art,.js-intro .work .wc{opacity:1;transform:none;top:0}}.sitefooter[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--line);background:var(--paper)}.sitefooter__inner[data-astro-cid-gcn2mc3v]{max-width:var(--max-width);margin-inline:auto;padding:var(--s-6) var(--gutter);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s-4) var(--s-6)}.sitefooter__links[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5)}.sitefooter__link[data-astro-cid-gcn2mc3v]{color:var(--ink);text-decoration:none;box-shadow:inset 0 -2px 0 var(--acc);transition:box-shadow var(--t-base) var(--ease);white-space:nowrap}.sitefooter__link[data-astro-cid-gcn2mc3v]:hover{box-shadow:inset 0 -1.2em 0 var(--acc)}
