:root{--ink:#2b2925;--muted:#7a766e;--paper:#fbfaf6;--ring:#0000000d;--ease:cubic-bezier(.22, 1, .36, 1);--sans:Jost, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:Newsreader, Georgia, serif;--type:"Courier Prime", "Courier New", ui-monospace, monospace;--term:"IBM Plex Mono", "Courier Prime", ui-monospace, monospace;--sheet-type:Lekton, "Courier Prime", ui-monospace, monospace;color:var(--ink);font-family:var(--sans)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#f1efea;overflow:hidden}.stage{opacity:0;transition:opacity .9s var(--ease);inset:0;position:fixed!important}.stage--ready{opacity:1}a{color:inherit}.nav{z-index:20;justify-content:space-between;align-items:center;padding:18px 24px;font-size:14px;display:flex;position:fixed;top:0;left:0;right:0}.nav a{text-decoration:none}.nav__mark{color:var(--ink);background:#fbfaf6d9;padding:3px 10px;font-weight:500}.nav__links{gap:8px;display:flex}.nav__links a{color:#f4f0e8;font:13px var(--type);transition:rotate .2s var(--ease);background:#141210;padding:4px 10px}.nav__links a:hover{rotate:-3deg}.nav__links a[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px #14121040}.settings{z-index:20;gap:8px;display:flex;position:fixed;bottom:16px;right:20px}.sound,.lang{color:var(--muted);font:13px var(--type);cursor:pointer;background:#fbfaf6d9;border:0;padding:4px 10px}.lang,.sound:hover,.sound[aria-pressed=true]{color:var(--ink)}.intro{z-index:40;color:#d9d3c7;transition:opacity .9s var(--ease) 80ms;background:#0b0a09;padding:28px 32px;position:fixed;inset:0}.intro--out{opacity:0;pointer-events:none}.intro__term{font:500 14px/1.65 var(--term);white-space:pre-wrap;margin:0}.intro__cursor{vertical-align:-.2em;background:#d9d3c7;width:.6em;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.intro__go{color:#141210;font:600 14px var(--term);cursor:pointer;animation:arrive .4s var(--ease) both;transition:background .15s var(--ease);background:#f4f0e8;border:0;align-items:center;gap:10px;margin-top:20px;padding:10px 18px 10px 14px;display:inline-flex}.intro__go:before{content:"";background:#e2822f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #e2822f}.intro__go:hover{background:#fff}.intro__go:focus-visible{outline-offset:3px;outline:2px solid #e2822f}@media (width<=600px){.intro{padding:20px 16px}.intro__term{font-size:12.5px}}@media (prefers-reduced-motion:reduce){.intro{transition-duration:.3s}.intro__cursor,.intro__go{animation:none}}.begin{z-index:30;cursor:pointer;transition:opacity .5s var(--ease);background:0 0;border:0;justify-content:center;align-items:flex-end;padding-bottom:7vh;display:flex;position:fixed;inset:0}.begin:focus-visible{outline:none}.begin:focus-visible span{outline-offset:3px;outline:2px solid #141210}.begin span{color:#f4f0e8;font:16px var(--type);background:#141210;padding:6px 14px}.begin span:after{content:"_";margin-left:6px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.begin span:after{animation:none}}.tags{pointer-events:none;z-index:5;transition:opacity .35s var(--ease);position:fixed;inset:0}.tags--hidden{opacity:0}.tags--hidden .tag{pointer-events:none}.tag{pointer-events:auto;visibility:hidden;text-decoration:none;position:absolute;top:0;left:0}.tag span{color:#f4f0e8;font:14px var(--type);white-space:nowrap;transform-origin:50% -8px;transition:rotate .2s var(--ease);background:#141210;padding:4px 10px;display:inline-block}.tag:hover span,.tag:focus-visible span,.tag--hover span{rotate:-4deg}.tag .tag__ghost{visibility:hidden;position:absolute;top:0;left:0}.grain{pointer-events:none;z-index:50;mix-blend-mode:soft-light;opacity:.24;width:100%;height:100%;position:fixed;inset:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reading{pointer-events:none;z-index:10;position:fixed;inset:0}.sheet{pointer-events:auto;background:var(--paper);box-shadow:0 0 0 1px var(--ring), 0 12px 40px #00000014;animation:arrive .52s var(--ease) .45s both}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet h2{letter-spacing:-.02em;margin:0 0 8px;font-weight:400}.sheet p{line-height:1.55}.meta{color:var(--muted);margin:0;font-size:13px}.slide{transform-origin:0 0;opacity:0;pointer-events:auto;color:#241f1a;-webkit-mask-composite:source-in;background:radial-gradient(at 50% 42%,#fbf5e9,#efe5d1 85%);width:1280px;height:800px;padding:56px 60px;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000),linear-gradient(#0000,#000 12px calc(100% - 12px),#0000);mask-image:linear-gradient(90deg,#0000,#000 12px calc(100% - 12px),#0000),linear-gradient(#0000,#000 12px calc(100% - 12px),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.slide__body{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:48px;height:100%;display:grid}.slide__body>img,.slide__body>video{object-fit:contain;border-radius:3px;width:100%;max-height:100%}.slide--cover{grid-template-columns:minmax(0,1fr) 340px}.slide--cover h2{margin:6px 0 16px;font-size:48px;line-height:1.1}.slide__lead{font-size:22px;line-height:1.45}.slide__text h3{letter-spacing:-.01em;margin:0 0 14px;font-size:28px;font-weight:400}.slide__text p{font-size:18px;line-height:1.55}.slide__text .meta{font-size:15px}.slide__actions{flex-wrap:wrap;gap:10px 20px;margin-top:28px;display:flex}.slide__actions button,.slide__actions a,.links a{color:var(--ink);cursor:pointer;font:15px var(--type);text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration:underline}.metrics{gap:18px;margin:0;display:grid}.slide--numbers{grid-template-columns:minmax(0,1fr);padding:0 40px}.slide--numbers .metrics{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:40px;margin:28px 0 36px}.slide--numbers .metrics dt{font-size:64px}.slide--numbers .metrics dd{margin-top:6px;font-size:16px}.slide--numbers .metrics small{font-size:14px}.metrics dt{letter-spacing:-.02em;font-size:34px}.metrics dd{font:14px var(--type);margin:0}.metrics small{color:var(--muted);font:12px/1.4 var(--sans);margin-top:2px;display:block}.fine{color:var(--muted);font-size:13px;line-height:1.5}.stack{flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.stack li{font:13px var(--type);border:1px solid #241f1a38;border-radius:999px;padding:3px 9px}.trays{opacity:0;pointer-events:auto;white-space:nowrap;gap:8px;padding-bottom:18px;display:flex;position:absolute;top:0;left:0}.trays button{color:var(--ink);font:13px var(--type);cursor:pointer;background:#fbfaf6b3;border:0;padding:5px 11px}.trays button span{color:var(--muted);margin-right:4px}.trays button[aria-current]{color:#f4f0e8;background:#141210}.trays button[aria-current] span{color:#a8a294}.slide-nav{opacity:0;pointer-events:auto;align-items:center;gap:10px;padding-top:16px;display:flex;position:absolute;top:0;left:0}.slide-nav button{cursor:pointer;border:0}.slide-nav>button:not(.dot){width:34px;height:34px;color:var(--ink);background:#fbfaf6d9;border-radius:999px;font-size:15px}.slide-nav>button:disabled{opacity:.35;cursor:default}.dot{background:#14121040;border-radius:999px;width:8px;height:8px;padding:0}.dot[aria-current]{background:#141210}.details{z-index:40;animation:fade .3s var(--ease);background:#1412108c;position:fixed;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.details__page{background:var(--paper);border-radius:4px;max-width:1040px;margin:6vh auto;padding:56px 64px 64px;position:relative;box-shadow:0 20px 60px #0003}.details__page>:not(.pictures),.project-scroll__page>:not(.pictures){max-width:68ch}.details__page h2,.project-scroll__page h2{margin:6px 0 12px;font-size:44px}.details__page h3,.project-scroll__page h3{margin:40px 0 10px;font-size:22px;font-weight:400}.details__page p,.project-scroll__page p{font-size:17px;line-height:1.6}.lead{font-size:20px!important}.details__close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:18px;right:22px}.pictures{scroll-snap-type:x mandatory;gap:14px;margin:28px 0 8px;display:flex;overflow-x:auto}.pictures img{scroll-snap-align:start;border-radius:3px;flex:none;height:340px}.links{gap:20px;margin-top:32px;display:flex}.details .metrics{grid-template-columns:repeat(3,1fr)}.slide--wall{pointer-events:none;padding:34px 40px}.slide--wall img{object-fit:contain;filter:contrast(.9)saturate(.8)sepia(.12)brightness(1.04);width:100%;height:100%}.slide--wall:after{content:"";background:radial-gradient(at 50% 42%,#fff8e629,#0000 50%,#46341e4d);position:absolute;inset:0}.project-scroll{--wall:calc(var(--frame-bottom,40vh) - 52px + 10px);padding-top:var(--wall);pointer-events:auto;cursor:zoom-in;opacity:0;position:absolute;inset:52px 0 0;overflow-y:auto}.project-scroll>*{cursor:auto}.project-scroll .trays{top:calc(-1 * var(--wall));z-index:2;opacity:1;white-space:normal;-webkit-backdrop-filter:blur(10px);background:#eeebe4eb;flex-wrap:wrap;gap:6px;padding:8px 12px;position:sticky}.project-scroll .trays button{white-space:nowrap;padding:4px 8px;font-size:12px}.project-scroll__page{box-shadow:none;padding:18px 16px 28px}.project-scroll__page h2{font-size:34px}.project-scroll__page .meta{margin-top:18px}.project-scroll__page .links{flex-wrap:wrap;gap:10px 20px;margin-top:22px}.project-scroll__page figure{margin:44px 0 0}.project-scroll__page figcaption h3{margin:14px 0 6px}.project-scroll__page figcaption p{margin:0}.project-scroll__page img,.project-scroll__page video{border-radius:3px;width:100%;height:auto;display:block}.zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.project-scroll__page .metrics{margin-bottom:28px}.story{border-top:1px solid #241f1a26;margin-top:44px;padding-top:18px}.story summary{cursor:pointer;font:15px var(--type);text-underline-offset:4px;text-decoration:underline}.next{color:#f4f0e8;width:100%;font:15px var(--type);cursor:pointer;background:#141210;border:0;border-radius:3px;margin-top:40px;padding:14px}.paper-slot{top:56px;bottom:var(--platen,30vh);left:var(--paper-x,50%);width:min(var(--paper-w,72ch), calc(100vw - 32px));clip-path:inset(0 -80px);position:absolute;translate:-50%;container-type:inline-size}.sheet--paper{scrollbar-width:none;color:#2a2622;height:100%;font:16px/1.6 var(--sheet-type);text-shadow:0 0 .6px #2a262280;background: linear-gradient(90deg, #fffdf84d, transparent 40%, #4636220f), linear-gradient(transparent calc(100% - 36px), #3a2c1c38),  var(--aged,none) 0 0 / 100% 100% local, #f1eadb;padding:52px 6.5% 72px;animation:none;overflow-y:auto;translate:0 100%;box-shadow:12px 4px 26px -8px #281e124d,inset 0 0 0 1px #5040280f}.sheet--paper::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.sheet--paper{translate:none}}.sheet--paper h2{font:700 22px var(--sheet-type);margin-bottom:6px}.sheet--paper a{text-underline-offset:4px;-webkit-text-decoration:underline #2a26224d;text-decoration:underline #2a26224d;text-decoration-thickness:1px}.sheet--paper h2 a{text-underline-offset:5px}.sheet--paper a:hover{text-decoration-color:currentColor}.job+.job{margin-top:48px}.job__line{justify-content:space-between;gap:16px;margin:0;font-weight:700;display:flex}.job__line>:last-child{white-space:nowrap;flex-shrink:0}@container (width<=560px){.job__line{flex-direction:column;gap:0}.job__line>:last-child{font-weight:400}}.caret{vertical-align:-.05em;background:var(--ink);width:.5em;height:.9em;margin-left:2px;display:inline-block}.pager button{color:var(--muted);font:14px var(--type);cursor:pointer;background:0 0;border:0;padding:6px 10px}.pager button:hover:not(:disabled){color:var(--ink)}.pager{justify-content:space-between;margin-top:24px;display:flex}.pager button:disabled{opacity:.35;cursor:default}.edu{margin:4px 0 16px}.job ul{padding-left:1.2em;line-height:1.55}.sheet--notebook{width:min(54ch,100% - 32px);max-height:calc(100% - 140px);font:18px/1.6 var(--serif);border-radius:3px;padding:40px 44px;position:absolute;top:50%;right:max(24px,6vw);overflow-y:auto;translate:0 -50%}.sheet--notebook h2{font:400 30px var(--sans)}.portrait{float:right;width:128px;height:auto;box-shadow:0 0 0 1px var(--ring), 0 6px 16px #00000014;background:#fbfaf6;margin:0 0 12px 20px;padding:6px 6px 18px;rotate:2deg}.inline-pic{object-fit:cover;vertical-align:middle;width:2.8em;height:2.8em;box-shadow:0 0 0 1px var(--ring);border-radius:50%;margin-left:.3em}.board-strip{clear:both;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex;overflow-x:auto}.board-strip:not(:focus-within){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.board-strip button{cursor:pointer;background:0 0;border:0;padding:0;display:block}.board-strip img{width:64px;height:64px;box-shadow:0 0 0 1px var(--ring);display:block}.viewer[open]{touch-action:pan-y;background:0 0;border:0;place-items:center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;display:grid;position:fixed;inset:0}.viewer::backdrop{background:#141210b8}.viewer figure{max-width:calc(100vw - 32px);animation:arrive .32s var(--ease) both;background:#fbfaf6;margin:0;padding:12px 12px 6px;box-shadow:0 20px 60px #00000059}.viewer img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 120px);display:block}.viewer figcaption{font:italic 17px var(--serif);color:#4a4741;justify-content:space-between;align-items:center;gap:16px;padding-top:6px;display:flex}.viewer figcaption button{font:20px var(--sans);color:inherit;cursor:pointer;background:0 0;border:0;padding:4px 10px}.viewer__close{color:#f4f0e8;font:300 34px var(--sans);cursor:pointer;background:0 0;border:0;padding:4px 10px;position:fixed;top:12px;right:16px}.contact{font:14px var(--type);flex-wrap:wrap;gap:6px 18px;margin-top:32px;display:flex}@media (width<=720px){.nav{padding:12px 16px}.nav__links{gap:6px}.nav__links a{padding:4px 8px;font-size:12px}.tag span{padding:3px 8px;font-size:12px}.links a.lab{display:none}.sheet--paper{padding:28px 20px 48px;font-size:13px}.sheet--paper h2{font-size:18px}.sheet--notebook{width:auto;max-height:70%;padding:24px 20px;inset:auto 16px 16px;translate:none}.portrait{width:84px;margin-left:14px;padding:4px 4px 12px}.board-strip,.board-strip:not(:focus-within){clip-path:none;width:auto;height:auto;margin-top:16px;position:static;overflow-x:auto}}@page{margin:18mm}@media print{body{background:#fff;overflow:visible}#root>:not(main){display:none!important}.reading{position:static}.paper-slot{clip-path:none;width:auto;position:static;translate:none}.sheet--paper{height:auto;box-shadow:none;text-shadow:none;background:0 0;padding:0;overflow:visible;translate:none!important}}
