:root{--bg:#f7f6f3;--ink:#1a1918;--ink-hover:#000;--muted:#6b6864;--muted-ui:#3f3c39;--seg-off:#1a19182e;--scrim:#f7f6f3e0;--frame-edge:#1a19180f;--font-sans:"Instrument Sans", system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, monospace;--fs-name:14px;--fs-ui:13px;--fs-mono:11px;--lh:1.4;--tracking-name:.02em;--pad:32px;--top:64px;--bot:72px;--gap-links:6px;--seg-w:28px;--seg-h:2px;--seg-gap:6px;--hit:44px;--bd-blur:48px;--bd-bright:1.05;--bd-sat:.85;--bd-tint:.72;--bd-inset:-12%;--interval:5s;--settle-dur:.45s;--settle-ease:cubic-bezier(.2, .7, .2, 1);--settle-from:1.035;--reveal-dur:.2s}@media (width<=700px){:root{--pad:16px;--top:56px;--bot:84px;--seg-w:20px}}@media (width>=701px) and (width<=1023px){:root{--pad:24px;--top:60px;--bot:76px}}@media (prefers-reduced-motion:reduce){:root{--settle-dur:0s;--reveal-dur:0s}}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-sans-latin-400-normal.DRC__1Mx.woff2)format("woff2"),url(/_astro/instrument-sans-latin-400-normal.D1W7dsQl.woff)format("woff")}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-400-normal.yxdJ5AmL.woff2)format("woff2"),url(/_astro/fragment-mono-latin-400-normal.BYwT3kSJ.woff)format("woff")}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:400 var(--fs-ui)/var(--lh) var(--font-sans);overscroll-behavior:none;overflow:hidden}a,button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;transition:color .12s}@media (hover:hover){a:hover,button:hover{color:var(--ink-hover)}}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.mono{font:400 var(--fs-mono) var(--font-mono)}header{height:var(--top);padding:0 var(--pad);z-index:5;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.name{font-size:var(--fs-name);letter-spacing:var(--tracking-name)}#toggle{min-height:var(--hit);color:var(--muted-ui);padding:0 4px}.js-off #toggle{display:none}#stage{touch-action:pan-y pinch-zoom;position:fixed;inset:0}.slide{padding:var(--top) var(--pad) var(--bot);pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.slide.is-active,html:not(.js) .slide:first-child{display:flex}.bg{inset:var(--bd-inset);filter:blur(var(--bd-blur)) brightness(var(--bd-bright)) saturate(var(--bd-sat));z-index:0;background-position:50%;background-size:cover;position:absolute}.slide:after{content:"";background:var(--bg);opacity:var(--bd-tint);z-index:0;position:absolute;inset:0}.cell{z-index:1;flex:1;place-items:center;min-width:0;height:100%;display:grid;position:relative;container-type:size}.frame{width:min(100cqw,calc(100cqh*var(--rn)));aspect-ratio:var(--rn);box-shadow:0 0 0 1px var(--frame-edge);background-position:50%;background-size:cover;display:block}.frame picture,.frame img{width:100%;height:100%;display:block}.js .frame img{opacity:0}.js .frame img[data-ready]{opacity:1;transition:opacity .15s linear}.slide.is-active .frame{animation:settle var(--settle-dur) var(--settle-ease) both}@keyframes settle{0%{transform:scale(var(--settle-from))}to{transform:scale(1)}}.zone{touch-action:pan-y pinch-zoom;top:var(--top);bottom:var(--bot);z-index:2;width:40%;position:fixed}.zone:focus-visible{outline-offset:-4px}#prev{cursor:w-resize;left:0}#next{cursor:e-resize;right:0}.zone:hover{color:inherit}#bars{left:var(--pad);gap:var(--seg-gap);z-index:5;padding:0;list-style:none;display:flex;position:fixed;bottom:28px}#bars li{width:var(--seg-w);height:var(--seg-h);background:var(--seg-off);position:relative;overflow:hidden}#bars li i{background:var(--ink);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}#bars li.done i{transform:scaleX(1)}#bars li.now i{animation:fill var(--interval) linear forwards}html[data-playing=false] #bars li.now i{animation-play-state:paused}@keyframes fill{to{transform:scaleX(1)}}#count{left:var(--pad);z-index:5;color:var(--muted-ui);display:none;position:fixed;bottom:24px}.counter #bars{display:none}.counter #count{display:block}html:not(.js) #bars,html:not(.js) #count{display:none}#contact{right:var(--pad);z-index:6;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px}#contact-btn{min-height:var(--hit);margin-bottom:-6px;padding:0 2px}#contact-links{background:var(--scrim);backdrop-filter:blur(8px);flex-direction:column;align-items:flex-end;gap:0;padding:12px 8px;display:flex}#contact-links a{padding:calc((var(--hit) - 1.4em - var(--gap-links))/2) 0;display:block}.js #contact-links{opacity:0;visibility:hidden;transition:opacity var(--reveal-dur) linear,visibility 0s var(--reveal-dur)}.js #contact.open #contact-links{opacity:1;visibility:visible;transition:opacity var(--reveal-dur) linear}html:not(.js) #contact-btn,.single .zone,.single #toggle,.single #bars,.single #count{display:none}@media (prefers-reduced-motion:reduce){.slide.is-active .frame{animation:none}#bars li.now i{animation:none;transform:scaleX(1)}.js .frame img[data-ready]{transition:none}}
