:root{--paper:#f6f5f1;--paper-raised:#fffefb;--paper-sunken:#edebe4;--ink:#0f0f10;--ink-rgb:15 15 16;--ink-muted:#5c5c60;--ink-faint:#6e6e72;--rule-strong:1px solid var(--ink);--rule-hair:1px solid #dcdad3;--line-hair:#dcdad3;--accent:#c33a24;--accent-xbill:#5b3fd6;--accent-spade:#8a6a1f;--family-body:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--family-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--font-display:clamp(3.1rem, 1.4rem + 7vw, 6.5rem);--font-h2:clamp(1.9rem, 1.2rem + 2.6vw, 2.6rem);--font-h3:clamp(1.15rem, 1rem + .5vw, 1.35rem);--font-section:1.35rem;--font-body:1.0625rem;--font-small:.9rem;--font-label:.6875rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-black:800;--leading-display:.95;--leading-heading:1.06;--leading-body:1.62;--tracking-display:-.045em;--tracking-h2:-.03em;--tracking-label:.16em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:6rem;--width-page:74rem;--measure:34rem;--measure-wide:48rem;--column-label:12.5rem;--column-min:15rem;--edge:clamp(1.375rem, 4vw, 2.5rem);--target-min:2.75rem;--radius-sm:.25rem;--radius-md:.75rem;--radius-lg:1rem;--shadow-screen:0 20px 44px rgb(var(--ink-rgb) / 16%);--ease-out:cubic-bezier(.33, 1, .68, 1);--duration-fast:.14s;--duration-base:.26s;--duration-slow:.48s;--duration-slower:.72s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-accent=xbill]{--accent:var(--accent-xbill)}[data-accent=spade]{--accent:var(--accent-spade)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html{background-color:var(--paper)}body{background-color:var(--paper);color:var(--ink);font-family:var(--family-body);font-size:var(--font-body);line-height:var(--leading-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.page{width:100%;max-width:var(--width-page);padding-inline:var(--edge);margin-inline:auto}.masthead{gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-strong);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.masthead-name{font-size:var(--font-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0}.masthead nav ul{gap:var(--space-md);font-size:var(--font-small);font-weight:var(--weight-medium);margin:0;padding:0;list-style:none;display:flex}a{color:inherit}.masthead a,.link-list a{transition:border-color var(--duration-fast) var(--ease-out);border-bottom:1px solid #0000;padding-bottom:2px;text-decoration:none}.masthead a:hover,.link-list a:hover{border-bottom-color:var(--ink)}.action{font-weight:var(--weight-semibold);border-bottom:2px solid var(--accent);padding-bottom:2px;text-decoration:none;display:inline-block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{top:var(--space-xs);z-index:10;padding:var(--space-2xs) var(--space-xs);color:var(--paper);background:var(--ink);border-radius:var(--radius-sm);transition:transform var(--duration-fast) var(--ease-out);position:fixed;left:50%;transform:translate(-50%,-180%)}.skip-link:focus{transform:translate(-50%)}.opening h1 .line{vertical-align:bottom;display:inline-block;overflow:hidden}.opening h1 .line-inner{display:inline-block}.opening h1{margin:var(--space-2xl) 0 0;max-width:13ch;font-size:var(--font-display);font-weight:var(--weight-black);line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-wrap:balance}.row{grid-template-columns:var(--column-label) 1fr;gap:var(--space-md);padding-block:var(--space-md);border-bottom:var(--rule-hair);display:grid}.row:first-child{border-top:var(--rule-strong)}.label{font-size:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);margin:0}.row p{max-width:var(--measure-wide);margin:0}.opening .rows{margin-top:var(--space-xl)}.section{margin-top:var(--space-3xl)}.section-head{gap:var(--space-2xs) var(--space-md);padding-bottom:var(--space-xs);border-bottom:var(--rule-strong);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.section-head h2{font-size:var(--font-section);font-weight:var(--weight-black);letter-spacing:var(--tracking-h2);margin:0}.section-note{font-size:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);margin:0}.work-item{gap:var(--space-2xl);padding-block:var(--space-2xl);border-bottom:var(--rule-hair);grid-template-columns:1fr 19rem;align-items:center;display:grid}.work-eyebrow{margin-bottom:var(--space-sm);font-size:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);display:block}.work-item h3{margin:0 0 var(--space-xs);font-size:var(--font-h2);font-weight:var(--weight-black);line-height:var(--leading-heading);letter-spacing:var(--tracking-h2);text-wrap:balance}.work-item>div>p{margin:0 0 var(--space-md);max-width:var(--measure);color:var(--ink-muted)}.beats{grid-template-columns:repeat(auto-fit, minmax(var(--column-min), 1fr));gap:var(--space-sm) var(--space-lg);margin:0 0 var(--space-md);padding:var(--space-sm) 0 0;border-top:var(--rule-hair);list-style:none;display:grid}.beat h4{margin:0 0 var(--space-3xs);font-size:var(--font-small);font-weight:var(--weight-semibold)}.beat p{font-size:var(--font-small);color:var(--ink-muted);margin:0;line-height:1.5}.facts{gap:var(--space-2xs) var(--space-md);font-size:var(--font-small);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.work-links{margin-top:var(--space-md)}.screen{aspect-ratio:768/1670;border-radius:var(--radius-lg);width:100%;height:auto;box-shadow:var(--shadow-screen);display:block}.stages{gap:0 var(--space-xl);margin:var(--space-lg) 0 0;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.stage{padding-block:var(--space-sm) var(--space-md);border-top:var(--rule-hair)}.stage-index{font-size:var(--font-label);letter-spacing:var(--tracking-label);color:var(--ink-faint);font-variant-numeric:tabular-nums;display:block}.stage h3{margin:var(--space-3xs) 0 var(--space-2xs);font-size:var(--font-h3);font-weight:var(--weight-semibold);line-height:var(--leading-heading)}.stage p{max-width:30ch;font-size:var(--font-small);color:var(--ink-muted);margin:0}.toolkit{margin:var(--space-md) 0 0}.toolkit div{grid-template-columns:var(--column-label) 1fr;gap:var(--space-md);padding-block:var(--space-md);border-bottom:var(--rule-hair);display:grid}.toolkit dt{font-size:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted)}.toolkit dd{max-width:var(--measure-wide);margin:0}.about{gap:var(--space-2xl);padding-block:var(--space-2xl);grid-template-columns:1fr 19rem;align-items:start;display:grid}.about h3{margin:0 0 var(--space-sm);max-width:18ch;font-size:var(--font-h2);font-weight:var(--weight-black);line-height:var(--leading-heading);letter-spacing:var(--tracking-h2)}.about p{margin:0 0 var(--space-sm);max-width:var(--measure);color:var(--ink-muted)}.photo-pending{aspect-ratio:4/5;border:var(--rule-hair);background:var(--paper-sunken);color:var(--ink-faint);font-size:var(--font-label);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:center;align-items:center;display:flex}.contact{gap:var(--space-xl);margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:var(--rule-strong);grid-template-columns:1fr 1fr;align-items:end;display:grid}.contact h2{font-size:var(--font-h2);font-weight:var(--weight-black);line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin:0}.contact p{margin:var(--space-xs) 0 0;color:var(--ink-muted)}.contact-mail{font-size:var(--font-h3);font-weight:var(--weight-semibold)}.link-list{gap:var(--space-2xs) var(--space-md);margin:var(--space-sm) 0 0;font-size:var(--font-small);color:var(--ink-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer{gap:var(--space-2xs) var(--space-md);margin-top:var(--space-2xl);padding-block:var(--space-md) var(--space-2xl);border-top:var(--rule-hair);font-size:var(--font-small);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;display:flex}.noscript{padding-block:var(--space-lg)}@media (max-width:64rem){.stages{grid-template-columns:repeat(2,1fr)}}@media (max-width:52rem){.stages{grid-template-columns:1fr}.row,.toolkit div{gap:var(--space-3xs);grid-template-columns:1fr}.work-item,.about,.contact{gap:var(--space-lg);grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}.screen{max-width:17rem}}@media (prefers-reduced-motion:no-preference){@keyframes rise-out{0%{transform:translateY(105%)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.opening h1 .line-inner,.opening .row{animation:rise-out var(--duration-slow) var(--ease-out) backwards}.opening .row{animation-name:rise}.opening h1 .line:first-child .line-inner{animation-delay:80ms}.opening h1 .line:nth-child(2) .line-inner{animation-delay:.19s}.opening .row:first-of-type{animation-delay:.32s}.opening .row:nth-of-type(2){animation-delay:.4s}}.masthead a,.link-list a{border-bottom:0;position:relative}.masthead a:after,.link-list a:after{content:"";transform-origin:0;height:1px;transition:transform var(--duration-base) var(--ease-out);background:currentColor;position:absolute;inset:auto 0 -2px;transform:scaleX(0)}.masthead a:hover:after,.masthead a:focus-visible:after,.link-list a:hover:after,.link-list a:focus-visible:after{transform:scaleX(1)}.action{transition:color var(--duration-fast) var(--ease-out)}.action:hover{color:var(--accent)}.section-head{border-bottom:var(--rule-hair);position:relative}.section-head:after{content:"";background:var(--ink);transform-origin:0;height:1px;position:absolute;inset:auto 0 -1px;transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.js-reveal [data-reveal]{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(26px)}.js-reveal .screen[data-reveal]{opacity:.4;clip-path:inset(100% 0 0);transition:opacity var(--duration-slower) var(--ease-out), transform var(--duration-slower) var(--ease-out), clip-path var(--duration-slower) var(--ease-out);transform:scale(1.03)}.js-reveal .section-head[data-reveal]:after{transition:transform var(--duration-slow) var(--ease-out);transform:scaleX(0)}.js-reveal .stage:nth-child(3n+2),.js-reveal .toolkit div:nth-child(2n){transition-delay:90ms}.js-reveal .stage:nth-child(3n){transition-delay:.18s}.js-reveal [data-reveal].is-in,.js-reveal .screen[data-reveal].is-in{opacity:1;clip-path:inset(0);transform:none}.js-reveal .section-head[data-reveal].is-in:after{transform:scaleX(1)}}
