@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-next-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;src:url(/fonts/atkinson-mono-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Fallback;src:local("Helvetica Neue"),local("Arial");size-adjust:96%;ascent-override:93%;descent-override:23%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;src:local("Helvetica Neue"),local("Arial");size-adjust:100%;ascent-override:97%;descent-override:24%;line-gap-override:0%}:root{--paper: #eef0f1;--paper-2: #e3e6e9;--ink: #131a20;--mute: #4e5962;--rule: #c4cbd1;--rule-soft: #d8dde1;--signal: #1e3fc4;--signal-ink: #ffffff;--photo-filter: saturate(.94);--display: "Bricolage Grotesque", "Bricolage Fallback", "Helvetica Neue", Arial, sans-serif;--body: "Atkinson Hyperlegible Next", "Atkinson Fallback", "Helvetica Neue", Arial, sans-serif;--mono: "Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-1: .8125rem;--t0: 1.0625rem;--t1: 1.3125rem;--t2: 1.75rem;--t3: clamp(2.25rem, 1.5rem + 2.4vw, 3.25rem);--t4: clamp(2.75rem, 1rem + 7vw, 6.25rem);--gutter: 24px;--max: 1280px;--col-gap: 48px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 7.5rem;--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--spring: cubic-bezier(.34, 1.4, .64, 1);--r: 20px;--r-sm: 12px;--surface: color-mix(in srgb, var(--paper-2) 55%, transparent);--surface-strong: color-mix(in srgb, var(--paper-2) 85%, transparent);--glow-alpha: 13%;--loop-blend: multiply;--loop-filter: grayscale(1) invert(1);--loop-opacity: .38;--shadow: 0 1px 2px color-mix(in srgb, var(--ink) 4%, transparent), 0 18px 40px -22px color-mix(in srgb, var(--ink) 22%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0f1418;--paper-2: #161c22;--ink: #e8ebed;--mute: #98a3ac;--rule: #2b343c;--rule-soft: #1f272e;--signal: #8aa0ff;--signal-ink: #0f1418;--photo-filter: saturate(.9) brightness(.9);--glow-alpha: 16%;--loop-blend: screen;--loop-filter: none;--loop-opacity: .5}}:root[data-theme=dark]{--paper: #0f1418;--paper-2: #161c22;--ink: #e8ebed;--mute: #98a3ac;--rule: #2b343c;--rule-soft: #1f272e;--signal: #8aa0ff;--signal-ink: #0f1418;--photo-filter: saturate(.9) brightness(.9);--glow-alpha: 16%;--loop-blend: screen;--loop-filter: none;--loop-opacity: .5}@media(max-width:640px){:root{--gutter: 20px;--t0: 1rem;--t1: 1.1875rem;--t2: 1.5rem;--space-5: 3rem;--space-6: 4.5rem}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--t0);line-height:1.55;font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,ol,dl,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}p{text-wrap:pretty}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);transition:color .18s var(--ease),text-decoration-color .18s var(--ease)}a:hover{color:var(--signal);text-decoration-color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}::selection{background:var(--signal);color:var(--signal-ink)}.mono{font-family:var(--mono);font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-variant-numeric:tabular-nums}.skip{position:absolute;left:var(--gutter);top:-100px;padding:.5rem .75rem;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:var(--t-1);z-index:100}.skip:focus{top:var(--gutter)}.site-head{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2);padding:.7rem var(--gutter);background:color-mix(in srgb,var(--paper) 72%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid transparent;transition:border-color .24s var(--ease),padding .3s var(--ease-out)}.site-head.scrolled{border-bottom-color:var(--rule-soft);padding-block:.45rem}.wordmark{font-family:var(--display);font-variation-settings:"wdth" 92,"opsz" 24;font-weight:600;font-size:var(--t1);letter-spacing:-.01em;text-decoration:none;justify-self:start}.nav-pill{position:relative;display:inline-flex;padding:4px;border-radius:999px;border:1px solid var(--rule-soft);background:var(--surface)}.nav-pill ul{display:flex;gap:2px;position:relative;z-index:1}.nav-pill a{display:inline-block;font-family:var(--mono);font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--mute);padding:.45rem .85rem;border-radius:999px;transition:color .2s var(--ease)}.nav-pill a:hover,.nav-pill a[aria-current=true]{color:var(--ink)}.nav-ind{position:absolute;top:4px;bottom:4px;left:0;width:var(--iw, 0px);transform:translate(var(--ix, 0px));border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent);opacity:var(--io, 0);transition:transform .52s var(--ease-out),width .52s var(--ease-out),opacity .26s var(--ease)}.head-actions{justify-self:end;display:flex;align-items:center;gap:.5rem}.icon-btn{display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;border:1px solid var(--rule-soft);background:var(--surface);color:var(--ink);cursor:pointer;padding:0;transition:transform .4s var(--spring),border-color .2s var(--ease),background .2s var(--ease)}.icon-btn:hover{transform:translateY(-1px) rotate(-12deg);border-color:var(--ink)}.icon-btn:active{transform:scale(.94)}.icon-btn svg{width:1.1rem;height:1.1rem}.theme-toggle .sun{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .sun{display:block}:root:not([data-theme=light]) .theme-toggle .moon{display:none}}:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}@media(min-width:1329px){.site-head{padding-inline:calc((100% - var(--max)) / 2 + var(--gutter))}}@media(max-width:760px){.site-head{grid-template-columns:1fr auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:color-mix(in srgb,var(--paper) 94%,transparent)}.nav-pill{position:fixed;z-index:55;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);background:var(--surface-strong);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:var(--shadow);max-width:calc(100vw - 32px)}.nav-pill a{padding:.5rem .7rem}.site-head .head-email{display:none}}.btn{display:inline-flex;align-items:center;gap:.55em;padding:.85em 1.35em;border-radius:999px;font-family:var(--display);font-weight:600;font-variation-settings:"wdth" 94,"opsz" 24;font-size:var(--t0);letter-spacing:-.005em;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .42s var(--spring),background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .3s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.97);transition-duration:.12s}.btn svg{width:1em;height:1em;transition:transform .32s var(--ease-out)}.btn:hover svg{transform:translate(3px)}.btn:hover svg.ne{transform:translate(2px,-2px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--signal);color:var(--signal-ink);box-shadow:0 12px 30px -12px color-mix(in srgb,var(--signal) 70%,transparent)}.btn-ghost{border-color:var(--rule);color:var(--ink);background:var(--surface)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.btn-sm{padding:.6em 1em;font-size:var(--t-1)}.hero{position:relative;overflow:hidden}.glow{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--signal) var(--glow-alpha),transparent),transparent 72%);will-change:transform}.glow-a{width:62vw;height:62vw;max-width:900px;max-height:900px;top:-28vw;right:-18vw}.glow-b{width:40vw;height:40vw;max-width:600px;max-height:600px;bottom:6%;left:-16vw;opacity:.7}@media(prefers-reduced-motion:no-preference){.glow-a{animation:float-a 16s ease-in-out infinite alternate}.glow-b{animation:float-b 20s ease-in-out infinite alternate}@keyframes float-a{0%{transform:translate(0) scale(1)}to{transform:translate(-6%,8%) scale(1.08)}}@keyframes float-b{0%{transform:translate(0)}to{transform:translate(10%,-10%)}}}.hero-loop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;mix-blend-mode:var(--loop-blend);filter:var(--loop-filter);opacity:0;transition:opacity 1.6s var(--ease);-webkit-mask-image:linear-gradient(100deg,transparent 8%,#000 55%);mask-image:linear-gradient(100deg,transparent 8%,#000 55%)}.hero-loop.playing{opacity:var(--loop-opacity)}.hero-inner{position:relative;max-width:var(--max);margin:0 auto;padding:var(--space-5) var(--gutter) var(--space-4)}.eyebrow{font-family:var(--mono);font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);display:flex;flex-wrap:wrap;gap:.6em;margin-bottom:var(--space-4);position:relative;z-index:1}.eyebrow .sep{color:var(--rule)}.display-xl,.display-l{font-family:var(--display);font-weight:470;font-variation-settings:"wdth" 90,"opsz" 96;letter-spacing:-.022em;line-height:.96;text-wrap:balance}.display-xl{font-size:var(--t4)}.display-xl .l{display:block}.display-xl .mask{display:block;overflow:hidden;padding:.06em .04em .14em 0;margin:-.06em 0 -.14em}.display-l{font-size:var(--t3)}.lede{font-size:var(--t1);line-height:1.45;max-width:34em;margin-top:var(--space-4);color:var(--ink)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:var(--space-4) var(--col-gap);align-items:stretch}.hero-text{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-4)}.hero-copy .lede{margin-top:0;max-width:30em}.cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-3)}.hero-portrait{margin:0;position:relative}.tilt{position:relative;overflow:hidden;border-radius:var(--r);transform:perspective(1100px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .6s var(--ease-out);box-shadow:var(--shadow);background:var(--paper-2)}.tilt.tilting{transition:transform .12s linear}.hero-portrait img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;background:var(--paper-2);filter:var(--photo-filter)}.tilt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}@media(min-width:1000px){.hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero-copy .lede{max-width:28em}.hero-portrait{justify-self:end;width:min(100%,460px)}}@media(max-width:999px){.hero-text{display:contents}.hero-portrait{order:2;max-width:520px}.hero-copy{order:3}}.world{--world-deep: #0f1418;align-self:start}.world-stage{position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:4 / 5;background:var(--paper-2);box-shadow:var(--shadow);view-transition-name:world-stage;outline-offset:4px}.world-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.world-stage picture,.world-stage img{width:100%;height:100%}.world-stage img{object-fit:cover;filter:var(--photo-filter);transition:opacity .7s var(--ease)}.world-atmos{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:center / cover no-repeat;opacity:0;transform:scale(1.1);transition:opacity 1.4s var(--ease)}.world.open .world-atmos.on{opacity:.85}.world:not(.open) .world-atmos{transition-duration:.35s}.world-gl{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .5s var(--ease);touch-action:pan-y}.world.gl-ready .world-gl{opacity:1}.world.gl-ready .world-stage img{opacity:0}.world.gl-ready .world-stage{cursor:pointer}.world-ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.world-hint{position:absolute;display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;padding:.55rem .85rem;border-radius:999px;color:#fff;background:color-mix(in srgb,#0f1418 46%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .4s var(--ease),transform .5s var(--ease-out)}.world-hint i{font-style:normal;color:#8aa0ff;font-size:.8em}.world-hint-rest{left:14px;bottom:14px;transform:translateY(6px)}.world.gl-ready:not(.open) .world-hint-rest{opacity:1;transform:none}.world.gl-ready:not(.open) .world-stage:hover~.world-ui .world-hint-rest{background:var(--signal);color:var(--signal-ink)}.world.gl-ready:not(.open) .world-stage:hover~.world-ui .world-hint-rest i{color:inherit}.world-hint-drag{left:50%;top:50%;transform:translate(-50%,-50%)}.world.open:not(.dragged) .world-hint-drag{opacity:1;transition-delay:1.6s}.world-bar{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,12px);display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:color-mix(in srgb,#0f1418 55%,transparent);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),transform .6s var(--ease-out),visibility 0s .4s}.world.open .world-bar{opacity:1;visibility:visible;transform:translate(-50%);pointer-events:auto;transition-delay:.5s,.5s,0s}.world-btn{display:inline-flex;align-items:center;gap:.45em;font-family:var(--display);font-weight:600;font-variation-settings:"wdth" 94,"opsz" 24;font-size:var(--t-1);line-height:1;color:#e8ebed;white-space:nowrap;padding:.75em 1.05em;border-radius:999px;border:0;cursor:pointer;background:#ffffff14;transition:background-color .2s var(--ease),transform .38s var(--spring)}.world-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.world-btn:active{transform:scale(.96)}.world-btn svg{width:1.05em;height:1.05em}.world-next{background:#e8ebed;color:#0f1418}.world-next:hover{background:#8aa0ff}.world-meta{display:grid;justify-items:center;padding:0 .6rem;min-width:9rem;text-align:center}.world-meta .mono{color:#98a3ac;font-size:.7rem}.world-place{font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 90,"opsz" 24;font-size:var(--t-1);color:#e8ebed;white-space:nowrap}.world.open{animation:none!important;transform:none!important}.world.open .world-stage{position:fixed;z-index:90;top:10px;right:10px;bottom:10px;left:10px;aspect-ratio:auto;border-radius:calc(var(--r) + 4px);background:radial-gradient(120% 90% at 50% 40%,#18212a,var(--world-deep) 70%);box-shadow:0 0 0 100vmax color-mix(in srgb,var(--world-deep) 55%,transparent);cursor:grab}.world.open.dragging .world-stage{cursor:grabbing}.world.open .world-gl{touch-action:none}.world.open .world-ui{position:fixed;top:10px;right:10px;bottom:10px;left:10px;z-index:91}.world.open .world-stage img{opacity:0}.world.open:before{content:"";display:block;aspect-ratio:4 / 5;border-radius:var(--r);background:var(--paper-2)}html.world-open{overflow:hidden}html.world-open .site-head,html.world-open .progress{visibility:hidden}::view-transition-group(world-stage){animation-duration:.65s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(world-stage),::view-transition-new(world-stage){height:100%;width:100%;object-fit:cover}@media(max-width:640px){.world-bar{gap:4px;padding:4px}.world-prev span,.world-place{display:none}.world-meta{min-width:0}}.plate{position:relative;z-index:1;margin-top:var(--space-5);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.plate>div{padding:var(--space-2) var(--space-2) var(--space-2) 0;border-left:1px solid var(--rule);padding-left:var(--space-2)}.plate>div:first-child{border-left:0;padding-left:0}.plate dt{font-family:var(--mono);font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.plate dd{margin:.35rem 0 0;font-family:var(--display);font-variation-settings:"wdth" 92,"opsz" 32;font-weight:500;font-size:var(--t1);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}@media(max-width:760px){.plate{grid-template-columns:repeat(2,minmax(0,1fr))}.plate>div:nth-child(3){border-left:0;padding-left:0}.plate>div:nth-child(n+3){border-top:1px solid var(--rule)}}.flow{display:block;width:100%;height:clamp(150px,20vw,260px);margin-top:var(--space-5);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-composite:intersect}.ticker{position:relative;overflow:hidden;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);padding:.85rem 0;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.ticker-track{display:flex;align-items:center;gap:2.2rem;width:max-content;font-family:var(--mono);font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap;will-change:transform}.ticker-track i{font-style:normal;color:var(--signal);font-size:.7em}@media(prefers-reduced-motion:no-preference){.ticker-track{animation:ticker 46s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker{to{transform:translate(-50%)}}}@media(prefers-reduced-motion:no-preference){.js .rise{animation:rise .9s var(--ease) both;animation-delay:calc(var(--i, 0) * 80ms + 60ms)}.js .flow.rise{animation-name:rise-flat}.js .lift{animation:lift 1.2s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 90ms + 40ms)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes lift{0%{transform:translateY(108%)}to{transform:none}}@keyframes rise-flat{0%{opacity:0}to{opacity:1}}}.rv{opacity:0;transform:translateY(22px);filter:blur(7px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out),filter .85s var(--ease-out);transition-delay:calc(var(--n, 0) * 60ms)}.rv.in{opacity:1;transform:none;filter:blur(0)}.fig.rv{filter:none}.fig picture{display:block;overflow:hidden;border-radius:var(--r)}.fig.rv img{transform:scale(1.06);transition:transform 1.3s var(--ease-out);transition-delay:calc(var(--n, 0) * 60ms)}.fig.rv.in img{transform:none}.sec-head:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ink);transform-origin:left;transition:transform 1.1s var(--ease-out)}.sec-head.rv:before{transform:scaleX(0)}.sec-head.rv.in:before{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.rv,.fig.rv img{opacity:1;transform:none;filter:none;transition:none}.sec-head.rv:before{transform:none}}.progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;pointer-events:none}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: scroll()){.progress{animation:grow linear both;animation-timeline:scroll(root)}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-portrait img{animation:drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%;scale:1.08}@keyframes drift{0%{transform:translateY(-4%)}to{transform:translateY(4%)}}.flow{animation:band linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes band{0%{transform:translateY(28px)}to{transform:translateY(-28px)}}.sec-head .index{animation:slide linear both;animation-timeline:view();animation-range:entry 0% entry 60%}@keyframes slide{0%{transform:translate(-.35em);opacity:0}to{transform:none;opacity:1}}}}.sec{max-width:var(--max);margin:0 auto;padding:var(--space-6) var(--gutter) 0;scroll-margin-top:3.5rem}.sec-head{position:relative;display:grid;grid-template-columns:5.5rem 1fr;align-items:baseline;padding-top:var(--space-2);margin-bottom:var(--space-4)}.sec-head .index{font-family:var(--display);font-weight:300;font-variation-settings:"wdth" 85,"opsz" 96;font-size:var(--t3);line-height:.96;letter-spacing:-.02em;color:var(--signal);font-variant-numeric:tabular-nums}@media(max-width:640px){.sec-head{grid-template-columns:4rem 1fr}}.cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-4) var(--col-gap);align-items:start}.col-text{max-width:38em}.col-text>*+*{margin-top:1.1em}.aside-note{margin-top:1.4em!important;color:var(--mute);font-size:var(--t0)}.aside-note em{font-style:normal;color:var(--ink);font-family:var(--display);font-weight:600;font-variation-settings:"wdth" 92}.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.card{position:relative;overflow:hidden;padding:1.15rem 1.2rem 1.25rem;border-radius:var(--r-sm);border:1px solid var(--rule-soft);background:var(--surface);transition:transform .5s var(--spring),border-color .25s var(--ease),box-shadow .3s var(--ease)}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--signal) 16%,transparent),transparent 62%);opacity:0;transition:opacity .35s var(--ease)}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--signal) 45%,var(--rule));box-shadow:var(--shadow)}.card:hover:before{opacity:1}.card>*{position:relative}.card-n{color:var(--signal)}.card h3{margin-top:1.4rem;font-family:var(--display);font-weight:600;font-variation-settings:"wdth" 92,"opsz" 24;font-size:var(--t1);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}.card p{margin-top:.5rem;color:var(--mute);font-size:var(--t0);line-height:1.45}@media(max-width:560px){.stack{grid-template-columns:1fr}}.col-side{position:sticky;top:4.5rem}.panel{padding:1.25rem 1.3rem .4rem;border-radius:var(--r);border:1px solid var(--rule-soft);background:var(--surface)}.panel .proof{border-top:0}.panel .proof>div:last-child{border-bottom:0}.side-title{margin-bottom:var(--space-2)}.side-title-gap{margin-top:var(--space-4)}.proof{border-top:1px solid var(--ink)}.proof>div{padding:.8rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,11rem) 1fr;gap:.5rem 1rem}.proof dt{font-family:var(--mono);font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding-top:.2em}.proof dd{margin:0;font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 92,"opsz" 24;font-size:var(--t1);line-height:1.2;letter-spacing:-.01em}.proof dd a{text-decoration:none}.proof dd a:hover{text-decoration:underline;color:var(--signal)}@media(max-width:900px){.cols{grid-template-columns:1fr}.col-side{position:static}.proof>div{grid-template-columns:1fr;gap:.25rem}}.fig{margin-top:var(--space-5)}.fig img{width:100%;background:var(--paper-2);filter:var(--photo-filter);transition:transform 1.1s var(--ease-out)}.fig picture{position:relative;box-shadow:var(--shadow)}.fig picture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.fig:hover img{transform:scale(1.03)}.fig-wide{max-width:980px}.sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,320px));gap:var(--space-4)}.sheet .fig{margin-top:var(--space-4)}.pull{border-left:2px solid var(--signal);padding-left:var(--space-3)}.pull p{font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 92,"opsz" 40;font-size:var(--t2);line-height:1.15;letter-spacing:-.015em;hanging-punctuation:first}.pull footer{margin-top:var(--space-2)}.logos{margin-top:var(--space-5);--logo-h: clamp(26px, 2.6vw, 34px);--logo-gap: clamp(2.6rem, 5vw, 4.5rem)}.logos-title{margin-bottom:var(--space-2)}.logos-strip{position:relative;overflow:hidden;padding:var(--space-3) 0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.logos-rail{display:flex;width:max-content;will-change:transform}.logos-track{display:flex;align-items:center;gap:var(--logo-gap);padding-right:var(--logo-gap)}.logo{flex:0 0 auto;display:inline-flex;align-items:center;gap:.6em;color:var(--ink);opacity:.78;transition:opacity .3s var(--ease)}.logo:hover{opacity:1}.logo-mark{display:block;height:calc(var(--logo-h) * var(--s, 1));width:calc(var(--logo-h) * var(--s, 1) * var(--ar, 3));background:currentColor;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat}.logo-word{font-family:var(--display);font-weight:600;font-variation-settings:"wdth" 88,"opsz" 32;font-size:calc(var(--logo-h) * .72);letter-spacing:-.02em;line-height:1;white-space:nowrap}@media(prefers-reduced-motion:no-preference){.logos-rail{animation:strip-run 58s linear infinite}.logos-strip:hover .logos-rail,.logos.paused .logos-rail{animation-play-state:paused}}@media(prefers-reduced-motion:reduce){.logos-strip{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:thin}.logos-track[aria-hidden=true]{display:none}}.strip-sec{margin-top:var(--space-6);--frame-h: clamp(200px, 26vw, 340px);--frame-gap: clamp(14px, 1.6vw, 22px)}.strip-head{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem var(--space-3);margin-bottom:var(--space-3)}.strip-head h2{color:var(--ink)}.strip{position:relative;overflow:hidden;padding:1rem 0 1.25rem;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.strip-rail{display:flex;width:max-content;will-change:transform}.strip-track{display:flex;align-items:flex-start;gap:var(--frame-gap);padding-right:var(--frame-gap)}.frame{flex:0 0 auto;width:calc(var(--frame-h) * var(--ar, .75))}.frame:nth-child(2n){transform:translateY(14px)}.frame figure{position:relative}.frame picture{display:block;position:relative;overflow:hidden;height:var(--frame-h);border-radius:var(--r-sm);background:var(--paper-2);box-shadow:var(--shadow);transition:transform .5s var(--spring),box-shadow .4s var(--ease)}.frame picture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.frame img{width:100%;height:100%;object-fit:cover;display:block;filter:var(--photo-filter);transition:transform .9s var(--ease-out),filter .4s var(--ease);-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.frame:hover picture{transform:translateY(-4px)}.frame:hover img{transform:scale(1.035);filter:saturate(1)}@media(prefers-reduced-motion:no-preference){.strip-rail{animation:strip-run 92s linear infinite}.strip:hover .strip-rail,.strip.paused .strip-rail,.strip:focus-within .strip-rail{animation-play-state:paused}@keyframes strip-run{to{transform:translate(-50%)}}}@media(prefers-reduced-motion:reduce){.strip{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scroll-snap-type:x proximity;padding-inline:var(--gutter);scrollbar-width:thin}.strip-track[aria-hidden=true]{display:none}.frame{scroll-snap-align:start}.frame:nth-child(2n){transform:none}}.press-list{border-top:1px solid var(--ink)}.press-item{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--space-2) var(--col-gap);padding:var(--space-3) var(--space-3);margin-inline:calc(var(--space-3) * -1);border-radius:var(--r-sm);transition:background-color .26s var(--ease)}.press-item:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:0;height:1px;background:var(--rule)}.press-item:hover{background:var(--surface-strong)}.press-meta{display:flex;flex-direction:column;gap:.35em}.press-meta span{color:var(--ink)}.press-body{max-width:44em}.press-body h3{font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 92,"opsz" 32;font-size:var(--t2);line-height:1.12;letter-spacing:-.015em;text-wrap:pretty}.press-body h3 a{text-decoration:none}.press-body h3 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.press-item:hover h3 a{color:var(--signal)}.press-arrow{position:absolute;right:var(--space-3);top:var(--space-3);font-family:var(--mono);font-size:var(--t1);color:var(--rule);transition:color .2s var(--ease),transform .26s var(--ease)}.press-item:hover .press-arrow{color:var(--signal);transform:translate(2px,-2px)}.byline{margin-top:.4rem;color:var(--mute);font-size:var(--t-1)}.press-body blockquote{margin-top:var(--space-2);color:var(--ink)}.press-body blockquote p{hanging-punctuation:first}.press-fact{margin-top:var(--space-2);color:var(--mute)}@media(max-width:640px){.press-item{grid-template-columns:1fr;gap:var(--space-1);padding:var(--space-3) var(--space-2);padding-right:2.25rem;margin-inline:calc(var(--space-2) * -1)}.press-item:after{left:var(--space-2);right:var(--space-2)}.press-arrow{right:var(--space-2)}.press-meta{flex-direction:row;flex-wrap:wrap;gap:.35em 1.25em}.press-meta time{white-space:nowrap}}.contact-lede{margin-top:0}.contact-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-4)}.magnet{will-change:transform;transition:transform .6s var(--spring),color .2s var(--ease),border-color .2s var(--ease)}.magnet.pulling{transition:transform .16s linear,color .2s var(--ease),border-color .2s var(--ease)}.copy.done{border-color:var(--signal);color:var(--signal)}.contact-email{display:inline-block;font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 88,"opsz" 96;font-size:clamp(1.75rem,.5rem + 5.2vw,4.75rem);line-height:1;letter-spacing:-.03em;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:.08em;overflow-wrap:anywhere}.contact-email:hover{color:var(--signal);border-color:var(--signal)}.contact-list{margin-top:var(--space-5);border-top:1px solid var(--ink);max-width:44em}.contact-list li{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule);align-items:baseline}.contact-list a{font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 92,"opsz" 24;font-size:var(--t1);letter-spacing:-.01em;text-decoration:none;overflow-wrap:anywhere}.contact-list a:hover{color:var(--signal);text-decoration:underline}.site-foot{max-width:var(--max);margin:var(--space-6) auto 0;padding:0 var(--gutter) var(--space-4)}@media(max-width:760px){.site-foot{padding-bottom:calc(var(--space-4) + 4.5rem)}}.foot-inner{border-top:1px solid var(--ink);padding-top:var(--space-3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.totop{text-decoration:none}.totop:hover{color:var(--signal)}@media print{:root{--paper: #fff;--ink: #000;--mute: #444;--rule: #bbb;--signal: #1e3fc4}.flow,.skip,.progress,.site-head nav,.totop,.ticker,.glow,.head-actions,.copy,.strip-track[aria-hidden=true],.logos-track[aria-hidden=true]{display:none!important}.logos-rail{animation:none!important;transform:none!important}.logos-track{flex-wrap:wrap}.strip{overflow:visible;mask-image:none;-webkit-mask-image:none}.strip-rail{animation:none!important;transform:none!important}.strip-track{flex-wrap:wrap}.site-head{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.col-side{position:static}.rv{opacity:1!important;transform:none!important}.press-body h3 a:after{content:" (" attr(href) ")";position:static;font-family:var(--mono);font-size:.7em;color:var(--mute)}.contact-list a:after{content:" — " attr(href);font-size:.7em;color:var(--mute)}.sec{break-inside:avoid}}.work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--col-gap)}.work-link{display:grid;gap:.9rem;text-decoration:none;color:inherit}.work-link:hover{color:inherit}.work-shot{display:block;position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:16 / 10;background:var(--paper-2);box-shadow:var(--shadow);transition:transform .52s var(--spring),box-shadow .4s var(--ease)}.work-shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent)}.work-shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease-out)}.work-link:hover .work-shot{transform:translateY(-4px);box-shadow:0 2px 4px color-mix(in srgb,var(--ink) 5%,transparent),0 28px 50px -24px color-mix(in srgb,var(--ink) 30%,transparent)}.work-link:hover .work-shot img{transform:scale(1.03)}.work-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--ink);padding-top:.8rem}.work-name{font-family:var(--display);font-weight:500;font-variation-settings:"wdth" 92,"opsz" 32;font-size:var(--t2);line-height:1.1;letter-spacing:-.015em}.work-host{transition:color .2s var(--ease);white-space:nowrap}.work-link:hover .work-name,.work-link:hover .work-host{color:var(--signal)}.work-line{color:var(--mute);max-width:36em}@media(max-width:760px){.work{grid-template-columns:1fr}}
