*{margin:0;padding:0;box-sizing:border-box}:root{--font-main: "PP Neue Montreal Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--blue: #0000ff;--alert: #ff5b52;--screen-bg: #050505;--hairline: #1a1a1a;--line-soft: rgba(255, 255, 255, .3);--muted: rgba(255, 255, 255, .6);--faint: rgba(255, 255, 255, .14);--gutter: clamp(20px, 4.4vw, 64px);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-nav: cubic-bezier(.22, .61, .36, 1)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.home-pill{display:inline-block;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;color:#fff;background-color:var(--blue);padding:4px 8px;transition:opacity .15s ease}.home-pill:hover{opacity:.85}html,body{width:100%;height:100%;background-color:#000;overflow:hidden;font-family:var(--font-main)}@font-face{font-family:PP Neue Montreal Mono;src:url(/fonts/PPNeueMontrealMono-Variable.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}@font-face{font-family:Doto;src:url(/fonts/Doto-Variable.woff2) format("woff2-variations"),url(/fonts/Doto-Variable.ttf) format("truetype-variations");font-weight:100 900;font-display:swap}.hero-layer.is-covered{visibility:hidden}.page-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.page-layer>*{pointer-events:auto}.page-layer.is-parked{visibility:hidden}.transition-grid{position:fixed;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none;z-index:50}.intro-swarm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.intro-swarm__canvas{width:100%;height:100%;display:block}.intro-skip,.intro-progress,.intro-skip-prompt{position:fixed;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:11}.intro-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background-color:#000;opacity:1;transition:opacity .6s ease;pointer-events:none}.intro-cover.is-hidden{opacity:0}.intro-progress{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--muted);white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none}.intro-skip-prompt{display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;font-size:12px;line-height:1.35;color:#ffffffa6;animation:ui-chrome-in .8s ease both;max-width:min(240px,70vw);text-align:right;text-wrap:balance}.intro-skip-prompt__row{display:flex;gap:6px}.intro-skip-prompt__btn{pointer-events:auto;cursor:pointer;border:none;font:inherit;text-transform:uppercase;font-weight:600;letter-spacing:.04em;padding:4px 10px;color:#fff;background-color:var(--blue);transition:opacity .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.intro-skip-prompt__btn:hover{opacity:.85}.ui-chrome{animation:ui-chrome-in .8s ease both}.ui-chrome:has(.nav--open){position:relative;z-index:12}@keyframes ui-chrome-in{0%{opacity:0}to{opacity:1}}.ascii-gallery{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:grab;touch-action:none;opacity:0;transition:opacity .6s ease}.ascii-gallery.is-ready{opacity:1}.ascii-gallery.is-intro{pointer-events:none;cursor:default}.ascii-gallery.is-grabbing,.ascii-gallery.is-grabbing .ascii-plane{cursor:grabbing}.ascii-gallery>div{position:fixed;top:0;left:0}.ascii-gallery pre{contain:content;text-rendering:optimizeSpeed}.ascii-stage{position:fixed;width:0;height:0;overflow:hidden}.ascii-plane{color:#fff;pointer-events:auto;cursor:pointer;touch-action:none;will-change:transform;background-color:var(--screen-bg);backface-visibility:hidden;contain:layout paint}.ascii-plane.is-framed{position:relative;border-bottom:2px solid var(--blue);background-color:var(--screen-bg);padding:8px 8px 0}.ascii-frame-label{margin:8px -8px 0;padding:2px 4px;background-color:var(--blue);color:#fff;text-align:center;text-transform:uppercase;font-size:20px;font-weight:600;letter-spacing:.02em;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nav{position:fixed;top:0;left:0;width:100vw;padding:2em;display:flex;gap:8px;align-items:flex-start;z-index:2;pointer-events:none}.nav__menu,.nav__links,.nav__stack{display:contents}.nav__push{margin-left:auto}.nav__toggle{display:none}.nav__icon{position:relative;flex:none;width:14px;height:10px}.nav__icon-bar{position:absolute;left:0;right:0;height:2px;background-color:currentColor;transition:transform .42s var(--ease-nav),opacity .2s ease}.nav__icon-bar:nth-child(1){top:0}.nav__icon-bar:nth-child(2){top:4px}.nav__icon-bar:nth-child(3){top:8px}.nav--open .nav__icon-bar:nth-child(1){transform:translateY(4px) rotate(45deg)}.nav--open .nav__icon-bar:nth-child(2){opacity:0;transform:scaleX(.15)}.nav--open .nav__icon-bar:nth-child(3){transform:translateY(-4px) rotate(-45deg)}@media (max-width: 860px){.nav{padding:16px;justify-content:flex-end}.nav__menu{display:flex;flex-direction:column;align-items:stretch;width:5.5rem;background-color:var(--blue);pointer-events:auto;overflow:hidden;transition:width .38s var(--ease-nav) .16s}.nav--open .nav__menu{width:min(8.75rem,46vw);transition-delay:0s}.nav__menu .nav__link{width:100%;padding:11px 12px;background-color:transparent;text-align:left;white-space:nowrap}.nav__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px}.nav__links{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease-nav)}.nav--open .nav__links{grid-template-rows:1fr;transition-duration:.42s;transition-delay:.12s}.nav__stack{display:flex;flex-direction:column;min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .3s}.nav--open .nav__stack{visibility:visible;transition-delay:0s}.nav__stack .nav__link{border-top:1px solid var(--line-soft);opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s var(--ease-nav)}.nav--open .nav__stack .nav__link{opacity:1;transform:none;transition-duration:.34s}.nav--open .nav__stack .nav__link:nth-child(1){transition-delay:.18s}.nav--open .nav__stack .nav__link:nth-child(2){transition-delay:.23s}.nav--open .nav__stack .nav__link:nth-child(3){transition-delay:.28s}.nav--open .nav__stack .nav__link:nth-child(4){transition-delay:.33s}.nav__push{margin-left:0}}.nav__link{pointer-events:auto;cursor:pointer;border:none;font:inherit;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 8px;color:#fff;background-color:var(--blue);text-decoration:none;transition:opacity .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nav__link:hover{opacity:.85}.brand-logo{position:fixed;top:2em;left:50%;transform:translate(-50%);z-index:25;animation:ui-chrome-in .8s ease both;pointer-events:auto;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:0;font-family:PP Neue Montreal Mono,Segoe UI Symbol,ui-monospace,monospace;font-size:16px;font-weight:600;line-height:1;letter-spacing:0;padding:4px 8px;color:#fff;background-color:var(--blue);transition:gap .4s var(--ease-out);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.brand-logo__name{display:grid;grid-template-columns:0fr;transition:grid-template-columns .4s var(--ease-out)}.brand-logo__name>span{min-width:0;overflow:hidden;white-space:nowrap;font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:0;transition:opacity .12s ease}.brand-logo:hover,.brand-logo:focus-visible{gap:.45em}.brand-logo:hover .brand-logo__name,.brand-logo:focus-visible .brand-logo__name{grid-template-columns:1fr}.brand-logo:hover .brand-logo__name>span,.brand-logo:focus-visible .brand-logo__name>span{opacity:1;transition:opacity .25s ease .1s}.intro-swarm__sr,.scramble__sr,.decode-swap__sr,.decrypt__sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.brand-logo__cells--locked,.scramble--locked .scramble__chars,.decode-swap--locked .decode-swap__chars,.decrypt--locked .decrypt__chars{letter-spacing:0}.brand-logo__cells--locked .brand-logo__cell,.scramble--locked .scramble__char,.decode-swap--locked .decode-swap__char,.decrypt--locked .decrypt__char{display:inline-block;text-align:center;white-space:pre}.decrypt__word{white-space:nowrap}@media (max-width: 860px){.brand-logo{top:16px;left:16px;transform:none}}.hero-avatar{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;opacity:0;transition:opacity 1s ease}.hero-avatar.is-revealed{opacity:1}.hero-avatar .eye-ballz{width:min(480px,80vw)!important;height:min(480px,80vw,70vh)!important}.ascii-label{position:fixed;top:0;left:0;transform:translate(-50%,6px);z-index:2;pointer-events:none;opacity:0;transition:opacity .2s ease;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.02em;padding:4px 8px;color:#fff;background-color:var(--blue);white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.about-trigger-group{position:fixed;left:50%;top:calc(50% + min(240px,40vw,35vh) + 80px);top:min(calc(50% + min(240px,40vw,35vh) + 80px),calc(100dvh - env(safe-area-inset-bottom,0px) - 140px));transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none}.about-trigger-line{--hint-w: 2px;--hint-h: 56px;pointer-events:none;position:relative;width:var(--hint-w);height:var(--hint-h);background-color:#ffffff1f;overflow:hidden}.about-trigger-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--blue);animation:about-hint-run 1.6s ease-in-out infinite}@keyframes about-hint-run{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.about-trigger{pointer-events:auto;cursor:pointer;border:none;background:none;font:inherit;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 12px;color:#888;transition:color .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.about-trigger:hover,.about-trigger:focus-visible{color:#fff}@media (pointer: coarse){.about-trigger-group{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);flex-direction:column-reverse}.about-trigger-line{--hint-h: 40px}.about-trigger-line:after{animation-direction:reverse}.intro-skip-prompt{left:16px;right:16px;margin-inline:auto;width:fit-content;bottom:calc(50% + min(240px,40vw,35vh) + 16px);align-items:center;justify-content:center;text-align:center}.intro-skip-prompt__btn{padding:8px 14px}}.uploads-pill{position:fixed;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:2;pointer-events:auto;cursor:pointer;border:none;font:inherit;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 12px;color:#fff;background-color:var(--blue);transition:opacity .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uploads-pill.is-off{background-color:#a1130b}.uploads-pill:hover:not(:disabled){opacity:.85}.uploads-pill:disabled{opacity:.5;cursor:wait}.about-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background-color:transparent;visibility:hidden;overflow:hidden}.about-overlay__scroll{height:100%;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:none;scrollbar-gutter:stable}*{scrollbar-width:thin;scrollbar-color:#333 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#333;border-radius:4px}*::-webkit-scrollbar-track{background:transparent}.about-overlay__content{min-height:100%;background-color:#000;will-change:clip-path}.about-overlay__dissolve{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:21;pointer-events:none}.about-overlay__inner{position:relative;width:100%;padding:72px var(--gutter) 0}.about-section{padding:32px 0;scroll-margin-top:96px}.cursor-artifact{position:fixed;top:0;left:0;z-index:91;font-family:var(--font-main);font-size:11px;line-height:1.1;color:#999;opacity:0;transition:opacity .2s linear;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.cursor-artifact__face{position:absolute;top:0;left:0;transform:translate(-50%,-50%);will-change:clip-path}.cursor-artifact__cell{display:inline-block;width:1ch;text-align:center;white-space:pre}.cursor-artifact__figure{margin:0;font-family:inherit;white-space:pre;line-height:1;letter-spacing:0;color:#c9c9c9}.cursor-artifact__glitch{color:var(--blue)}.about-section+.about-section{border-top:1px solid var(--hairline)}.chapter-band--sub{margin-bottom:24px}.chapter-band__wordmark+.chapter-band__line{font-size:clamp(15px,1.9vw,26px)}.chapter-band__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--font-main);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#888}.chapter-band__lockup{margin:20px 0 16px;color:#fff}.chapter-band__wordmark{font-family:Doto,ui-monospace,monospace;font-weight:700;font-size:max(30px,calc((100vw - 2 * var(--gutter)) / 10.8));white-space:nowrap;margin-bottom:clamp(12px,1.8vw,28px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;font-kerning:none}.chapter-band__line{font-family:var(--font-main);font-weight:500;font-size:clamp(22px,7.5vw,107px);line-height:.95;letter-spacing:.005em;text-transform:uppercase;white-space:nowrap;color:#fff}.decrypt__word--accent{color:var(--blue)}@media (max-width: 767.98px){.chapter-band__wordmark{font-size:min(15.5vw,64px);white-space:normal}.chapter-band__wordmark+.chapter-band__line{font-size:12px}.chapter-band__row{font-size:10px}}.chapter-reading{margin-top:clamp(24px,3.5vw,44px)}.chapter-reading__flow{--hip-cut: .46;--fig-w: clamp(340px, calc(80vw - 256px) , 900px);--fig-h: calc(var(--fig-w) * (67 * var(--hip-cut)) / 40);--fig-drop: 32px;--text-drop: calc(var(--fig-h) * .08);position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start;margin-bottom:calc(-1 * var(--fig-drop))}.chapter-reading__col{color:#c9c9c9;font-size:17px;line-height:1.6;padding-top:var(--text-drop)}.about-link{color:#fff;text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:.18em;transition:color .15s ease,text-decoration-color .15s ease}.about-link:hover,.about-link:focus-visible{text-decoration-color:#fff}.about-silh{height:var(--fig-h);width:calc(var(--fig-w) / 2);margin-top:calc(-1 * var(--text-drop));shape-image-threshold:.5;shape-margin:40px;pointer-events:none}.about-silh--l{float:right;shape-outside:polygon(88% 0,100% 0,100% 100%,30% 100%,40% 60%,88% 28%) border-box}.about-silh--r{float:left;shape-outside:polygon(12% 0,0% 0,0% 100%,70% 100%,60% 60%,12% 28%) border-box}.wrap-debug{position:absolute;top:0;height:var(--fig-h);width:calc(var(--fig-w) / 2);background:#0000ff24;outline:1px dashed rgba(64,64,255,.7);pointer-events:none;z-index:5}.wrap-debug--l{left:calc(50% - var(--fig-w) / 2);clip-path:var(--wrap-l, none)}.wrap-debug--r{left:50%;clip-path:var(--wrap-r, none)}.wrap-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000ff4d;outline:1px dashed rgba(140,140,255,.85);outline-offset:-1px;pointer-events:none;z-index:6}.wrap-probe{position:fixed;left:0;bottom:0;z-index:9999;margin:0;padding:6px 8px;max-width:100vw;overflow-x:auto;font-family:var(--font-main),ui-monospace,monospace;font-size:10px;line-height:1.35;color:#9f9;background:#000000db;border-top:1px solid #0f0;pointer-events:none;white-space:pre}@media (min-width: 1200px){.wrap-mask{display:none}}@media (min-width: 768px) and (max-width: 1199.98px){.wrap-mask{clip-path:var(--wrap-full-l, none)}}.wrap-debug--full{display:none}.about-portrait{position:absolute;top:0;left:50%;transform:translate(-50%);width:var(--fig-w);overflow:hidden;aspect-ratio:calc(40 / (67 * var(--hip-cut)))}.about-portrait canvas{display:block;width:100%;height:auto;touch-action:pan-y}@media (max-width: 1199.98px){.chapter-reading__flow{--text-drop: 0px;--hip-cut: 1;--float-w: min(50%, 420px);display:flow-root;margin-bottom:0}.about-silh{display:none}.about-portrait{float:right;position:relative;transform:none;left:auto;width:var(--float-w);margin:2px 0 14px;shape-outside:polygon(44% 0,100% 0,100% 100%,36% 100%,34% 46%,13% 40%,20% 26%,44% 12%) border-box;shape-margin:14px}.chapter-reading__col{font-size:clamp(15px,calc(12px + .42vw),17px);line-height:1.55;max-width:none;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}.wrap-debug--l,.wrap-debug--r{display:none}.wrap-debug--full{display:block;left:auto;right:0;top:2px;width:var(--float-w);height:auto;aspect-ratio:calc(40 / 67);clip-path:var(--wrap-full-l, none)}}@media (max-width: 767.98px){.chapter-reading__flow{--head-x0: .28;--head-y0: 0;--head-xspan: .44;--head-yspan: .26;--legs-x0: .27;--legs-y0: .66;--legs-xspan: .49;--legs-yspan: .34}.about-portrait{position:relative;transform:none;left:auto}.about-portrait--head{float:right;width:58%;aspect-ratio:calc((var(--head-yspan) * 67) / (var(--head-xspan) * 40));margin:clamp(20px,6vw,48px) calc(-1 * var(--gutter)) 1.2em 1.2em;shape-outside:polygon(23% 0,100% 0,100% 100%,8% 100%,14% 60%,23% 22%) border-box;shape-margin:14px}.about-portrait--legs{float:left;width:50%;aspect-ratio:calc((var(--legs-yspan) * 67) / (var(--legs-xspan) * 40));margin:.4em 1.2em 1.2em calc(-1 * var(--gutter));shape-outside:polygon(77% 0,0 0,0 100%,92% 100%,86% 60%,77% 22%) border-box;shape-margin:14px}.about-portrait--head canvas,.about-portrait--legs canvas{position:absolute;left:50%;top:50%;height:auto;transform-origin:0 0}.about-portrait--head canvas{width:calc(100% * 40 / (var(--head-yspan) * 67));transform:rotate(-90deg) translate(calc((var(--head-x0) + var(--head-xspan) / 2) * -100%),calc((var(--head-y0) + var(--head-yspan) / 2) * -100%))}.about-portrait--legs canvas{width:calc(100% * 40 / (var(--legs-yspan) * 67));transform:rotate(-90deg) translate(calc((var(--legs-x0) + var(--legs-xspan) / 2) * -100%),calc((var(--legs-y0) + var(--legs-yspan) / 2) * -100%))}.wrap-debug{display:none}.about-portrait--head .wrap-mask{clip-path:var(--wrap-head-l, none)}.about-portrait--legs .wrap-mask{clip-path:var(--wrap-legs-r, none)}}@media (min-width: 768px){.about-portrait--legs{display:none}}@media (min-width: 768px) and (max-width: 1199.98px){.chapter-reading__flow{--float-w: clamp(320px, 38%, 400px)}.chapter-reading__col{max-width:72ch}}.works-list-wrap{position:relative}.works-indicator{position:absolute;top:0;right:0;font-family:var(--font-main);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#fff;opacity:0;visibility:hidden;pointer-events:none;will-change:transform}.works-list{list-style:none;border-top:1px solid var(--hairline)}.works-row{border-bottom:1px solid var(--hairline)}.works-row__toggle{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:22px clamp(84px,10vw,128px) 22px 0;background:none;border:none;cursor:pointer;font:inherit;color:#fff;text-align:left;transition:color .15s ease}.works-row__lead{display:flex;align-items:center;min-width:0}.works-row__thumb{width:0;height:56px;overflow:hidden;flex:none;transition:width .3s ease}.works-row__thumb img{display:block;width:10rem;height:100%;object-fit:cover;object-position:left center;transform:scale(1.5);transform-origin:left;transition:transform .3s ease}.works-row__toggle.is-hovered .works-row__thumb{width:10.5rem}.works-row__toggle.is-hovered .works-row__thumb img{transform:scale(1)}@media (hover: hover){.works-row__toggle:hover .works-row__thumb{width:10.5rem}.works-row__toggle:hover .works-row__thumb img{transform:scale(1)}}.works-row.is-open .works-row__toggle.is-hovered .works-row__thumb{width:0}.works-row.is-open .works-row__toggle.is-hovered .works-row__thumb img{transform:scale(1.5)}@media (hover: hover){.works-row.is-open .works-row__toggle:hover .works-row__thumb{width:0}.works-row.is-open .works-row__toggle:hover .works-row__thumb img{transform:scale(1.5)}}.works-row__title{font-size:clamp(18px,2.4vw,26px);font-weight:600;color:#fff;letter-spacing:-.01em}.works-row__toggle.is-hovered .works-row__title,.works-row__toggle:focus-visible .works-row__title{color:var(--blue)}@media (hover: hover){.works-row__toggle:hover .works-row__title{color:var(--blue)}}.works-row__meta{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-main);text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.12em;color:#888}.works-row__status{padding:2px 6px;border:1px solid var(--line-soft);color:#ffffffbf;font-size:10px;font-weight:600;letter-spacing:.06em;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.works-row__toggle.is-hovered .works-row__status,.works-row__toggle:focus-visible .works-row__status{border-color:var(--blue);color:#fff}@media (hover: hover){.works-row__toggle:hover .works-row__status{border-color:var(--blue);color:#fff}}.works-row__panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s ease,opacity .3s ease,visibility 0s .3s}.works-row.is-open .works-row__panel{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .3s ease,opacity .3s ease,visibility 0s 0s}.works-row__panel-inner{overflow:hidden}.works-row.is-open .works-row__panel-inner{padding-bottom:24px}.works-row__panel-inner p{max-width:60ch;color:#bbb;font-size:16px;line-height:1.5}.works-panel{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,30vw,340px);gap:20px 32px;align-items:start}.works-panel__text{grid-column:1;grid-row:1}.works-panel__text p+p{margin-top:1em}.works-panel__links{display:flex;flex-wrap:wrap;gap:1.2em;margin-top:1.6em}.works-panel__link{color:var(--blue);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--blue) 40%,transparent);padding-bottom:2px;transition:border-color .2s ease,color .2s ease}.works-panel__link:hover,.works-panel__link:focus-visible{color:var(--fg);border-bottom-color:var(--fg)}.works-panel__media{grid-column:2;grid-row:1;display:block;width:100%;aspect-ratio:4 / 5;position:relative;overflow:hidden;padding:0;border:1px solid var(--hairline);background:#000;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:default}.works-panel__media.is-cycling{cursor:pointer}.works-panel__canvas{display:block;width:100%;height:100%}.works-panel__count{position:absolute;right:10px;bottom:8px;font-family:var(--font-main);font-size:10px;letter-spacing:.12em;color:#ffffffbf;pointer-events:none}.works-panel__stack{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.works-panel__stack-label{font-family:var(--font-main);text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.12em;color:#888;margin-right:8px}.works-panel__chip{font-family:var(--font-main);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border:1px solid var(--line-soft);color:#ffffffbf}.works-marquee{grid-column:1 / -1;overflow:hidden;border-top:1px solid var(--hairline);padding:12px 0}.works-panel__clients-lead{grid-column:1 / -1;color:var(--muted)}.works-marquee__track{display:flex;width:max-content;animation:works-marquee 30s linear infinite;will-change:transform;animation-play-state:paused}.works-row.is-open .works-marquee__track{animation-play-state:running}.works-marquee__item{display:flex;align-items:center;height:28px;margin-right:48px;font-family:var(--font-main);font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#c9c9c9;opacity:.6}.works-marquee__item img{height:100%;width:auto;display:block;filter:brightness(0) invert(1)}@keyframes works-marquee{to{transform:translate(-50%)}}@media (hover: none),(max-width: 767.98px){.works-row__toggle{padding-right:0}.works-indicator{display:none}}@media (max-width: 767.98px){.works-row__toggle{grid-template-columns:1fr;gap:8px;padding-top:26px;padding-bottom:26px}.works-row__title{font-size:clamp(22px,6.4vw,26px)}.works-row__thumb{height:28px}.works-row__thumb img{width:5rem}.works-row__toggle.is-hovered .works-row__thumb{width:5.5rem}.works-panel{grid-template-columns:minmax(0,1fr);gap:16px}.works-panel__text,.works-panel__media{grid-column:auto;grid-row:auto}.works-panel__media{width:min(100%,320px)}.works-marquee__item{height:24px;margin-right:36px}}@media (hover: hover) and (max-width: 767.98px){.works-row__toggle:hover .works-row__thumb{width:5.5rem}}.contact-link{color:#fff;text-decoration:none;font-size:clamp(18px,2.4vw,26px);font-weight:600;letter-spacing:-.01em;transition:color .15s ease}.contact-link:hover{color:var(--blue)}@media (prefers-reduced-motion: reduce){.about-overlay,.works-row__panel,.works-row__thumb,.works-row__thumb img{transition:none}.works-marquee__track{animation:none}.brand-logo,.brand-logo__name,.brand-logo__name>span{transition:none}.about-trigger-line:after{animation:none;transform:none}.nav__menu,.nav__links,.nav__stack,.nav__stack .nav__link,.nav__icon-bar{transition:none}}.plane-body{position:relative;opacity:0;transition:opacity .6s ease}.plane-body.is-loaded{opacity:1}.plane-loading{position:absolute;right:6px;bottom:4px;color:var(--muted);font-size:12px}.corner-pill{pointer-events:auto;cursor:pointer;border:none;font:inherit;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 12px;color:#fff;background-color:var(--blue);transition:opacity .15s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.corner-pill:hover{opacity:.85}.figdialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000c;display:flex;align-items:center;justify-content:center;padding:16px}.figdialog{width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#000;border:1px solid #fff}.figdialog__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background-color:var(--blue);color:#fff;padding:4px 4px 4px 10px;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em}.figdialog__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figdialog__close{flex:none;border:none;background:none;color:#fff;font-size:18px;line-height:1;padding:0 6px;cursor:pointer}.figdialog__stage{background:var(--screen-bg);min-height:160px;max-height:min(55dvh,420px);display:flex;align-items:center;justify-content:center;padding:12px;color:#fff;overflow:hidden}.figdialog__note{color:var(--muted);font-size:14px}.figdialog__meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:12px 14px;border-top:1px solid var(--faint)}.figdialog__meta dt{text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:#ffffff8c}.figdialog__meta dd{margin:2px 0 0;color:#fff;font-size:14px}.figdialog__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 14px}.figdialog__btn{background:transparent;border:1px solid var(--blue);color:#fff;font:inherit;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 12px;cursor:pointer;transition:opacity .15s ease}.figdialog__btn:hover:not(:disabled){opacity:.85}.figdialog__btn:disabled{opacity:.4;cursor:not-allowed}.figdialog__admin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 14px;border-top:1px dashed rgba(255,255,255,.25)}.figdialog__btn--danger{border-color:var(--alert)}.figdialog__error{color:var(--alert);font-size:13px}.gallery-card__badges{display:flex;gap:6px;padding:6px 10px 0}.gallery-card__badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border:1px solid var(--line-soft);color:#ffffffbf}.gallery-card__badge.is-hero{border-color:var(--blue);background:var(--blue);color:#fff}.gallery-card__badge.is-hidden{border-color:var(--alert);color:var(--alert)}@media (prefers-reduced-motion: reduce){.plane-body{transition:none}}@media (min-width: 1200px){.about-portrait{z-index:1}.chapter-reading__col{overflow-wrap:break-word}.chapter-reading__col--left{grid-column:1}.chapter-reading__col--right{grid-column:2;text-align:right}}@media (min-width: 1200px){@supports not (shape-outside: url(x)){.chapter-reading__flow{--text-drop: 0px;display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(28px,4.5vw,70px);align-items:end;min-height:0}.about-silh{display:none}.chapter-reading__col{max-width:30ch;padding-bottom:clamp(48px,7vw,96px)}.chapter-reading__col--left{grid-column:1;justify-self:end}.about-portrait{position:static;transform:none;left:auto;grid-column:2;margin:0}.chapter-reading__col--right{grid-column:3;justify-self:start;text-align:left}}}@media (min-width: 1445px){.chapter-reading__flow{--fig-w: clamp(900px, calc(53vw - 68px) , 1800px)}.chapter-reading__col{font-size:clamp(17px,.95vw,32px)}.works-row__title{font-size:clamp(26px,1.8vw,46px)}.works-row__toggle{padding-top:clamp(22px,1.5vw,40px);padding-bottom:clamp(22px,1.5vw,40px)}.works-row__year,.works-row__status,.works-indicator{font-size:clamp(11px,.62vw,16px)}.contact-footer__copy{font-size:clamp(17px,.95vw,32px)}.contact-link{font-size:clamp(14px,.78vw,26px)}}#works.about-section{padding-top:clamp(48px,10vh,120px);padding-bottom:clamp(64px,12vh,140px)}#contact.about-section{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding-top:clamp(80px,16vh,240px);padding-bottom:0}@media (min-width: 768px) and (max-width: 1199.98px){#works.about-section{padding-top:clamp(48px,7vh,96px);padding-bottom:clamp(56px,8vh,112px)}.works-row__toggle{padding-top:30px;padding-bottom:30px}}.contact-liquid{position:absolute;top:0;left:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter));height:100%;pointer-events:none}.contact-footer__main,.contact-footer__meta{position:relative;z-index:1}.contact-footer__main{display:flex;flex-direction:column;gap:clamp(16px,3vh,32px);margin-bottom:clamp(56px,12vh,140px)}.contact-footer__copy{color:#c9c9c9;font-size:17px;line-height:1.6;max-width:52ch}.contact-footer__meta{border-top:1px solid var(--hairline);padding:24px 0 32px;display:flex;flex-direction:column;gap:clamp(40px,8vh,96px)}.contact-footer__meta-row{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.contact-footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-footer__label{font-family:var(--font-main);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#888}.contact-footer__meta .contact-link{font-size:14px;font-weight:500}.contact-footer__meta-row--base{align-items:baseline;font-family:var(--font-main);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#888}.contact-footer__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px}.contact-footer__action{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:#888;cursor:pointer;white-space:nowrap;transition:color .15s ease}.contact-footer__action:hover{color:var(--blue)}@media (max-width: 767.98px){.contact-footer__meta-row{flex-direction:column;gap:28px}.contact-footer__meta-row--base{flex-direction:row;justify-content:space-between}#works.about-section{padding-top:40px}.contact-liquid{opacity:.6}}html.has-ascii-cursor,html.has-ascii-cursor *,html.has-ascii-cursor *:before,html.has-ascii-cursor *:after{cursor:none!important}html.has-ascii-cursor input[type=range]::-webkit-slider-thumb,html.has-ascii-cursor input[type=range]::-webkit-slider-runnable-track{cursor:none!important}html.has-ascii-cursor input[type=range]::-moz-range-thumb,html.has-ascii-cursor input[type=range]::-moz-range-track{cursor:none!important}html.has-ascii-cursor input[type=color]::-webkit-color-swatch,html.has-ascii-cursor input[type=color]::-webkit-color-swatch-wrapper{cursor:none!important}html.has-ascii-cursor input[type=color]::-moz-color-swatch{cursor:none!important}html.has-ascii-cursor [data-cursor=none],html.has-ascii-cursor [data-cursor=none] *{cursor:auto!important}.ascii-cursor{position:fixed;top:0;left:0;z-index:92;font-family:var(--font-main);font-size:17px;line-height:1;font-weight:500;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;--reticle: #fff;--reticle-halo: 0 1px 2px rgba(0, 0, 0, .9), 0 0 7px rgba(0, 0, 0, .6);color:var(--reticle);text-shadow:var(--reticle-halo)}.ascii-cursor.is-armed{opacity:1}.ascii-cursor[data-state=none],.ascii-cursor[data-state=hidden]{opacity:0}.ascii-cursor[data-state=disabled]{opacity:.5}.ascii-cursor__core,.ascii-cursor__arm{position:absolute;top:0;left:0;transform:translate(-50%,calc(-50% + var(--core-nudge, 0px)))}.ascii-cursor[data-state=press] .ascii-cursor__core{font-size:.62em}.ascii-cursor__arm{opacity:0;transition:opacity .12s linear;transform:translate(calc(-50% + var(--ax, 0) * var(--spread, 0px)),calc(-50% + var(--ay, 0) * var(--spread, 0px) + var(--core-nudge, 0px)))}.ascii-cursor__arm[data-on]{opacity:.8}.ascii-cursor.is-quiet{--reticle-halo: 0 0 3px #000, 0 0 6px #000, 0 0 10px rgba(0, 0, 0, .8)}
