@import "https://use.typekit.net/sqx8ead.css";
.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
:root{--font-display:"neue-haas-grotesk-display-pr", "neue-haas-grotesk-display", "Neue Haas Grotesk Display Pro", Arial, sans-serif;--font-text:"Stack Sans Text", Arial, sans-serif;--font-sans:var(--font-text);--font-serif:var(--font-display);--bg:#f9f9f9;--bg-rgb:249 249 249;--ink:#222;--muted:#787878;--body-muted:var(--muted);--soft:#8b8585;--line:#e3e3e3;--line-strong:#e3e3e3;--surface:#f3f3f3;--placeholder:#d7d7d7;--placeholder-strong:#b6b6b6;--stripe:#b6b6b657;--dot:#2222222e;--shine:5 5 5;--accent:#373131;--green:#556f53;--blue:#335d7d;--yellow:#d7af4b;--hero-muted-start:139;--hero-muted-end:5;--hero-fill-end:34;--heading-ink:rgb(var(--hero-muted-end) var(--hero-muted-end) var(--hero-muted-end));--cursor-default:url(/assets/cursors/cursor-default.svg) 6 3, auto;--cursor-button:url(/assets/cursors/pointer.svg) 6 2, pointer;--cursor-grab:url(/assets/cursors/grab.svg) 9 9, grab;--cursor-grabbing:url(/assets/cursors/grabbing.svg) 9 9, grabbing;--cursor-help:url(/assets/cursors/help.svg) 10 2, help;--cursor-text:url(/assets/cursors/text.svg) 12 12, text;--cursor-move:url(/assets/cursors/move.svg) 12 12, move;--cursor-zoom-in:url(/assets/cursors/zoom-in.svg) 10 10, zoom-in;--cursor-zoom-out:url(/assets/cursors/zoom-out.svg) 10 10, zoom-out;--max:1280px;--left-rail:32%;--radius:16px}[data-theme=dark]{--bg:#121212;--bg-rgb:18 18 18;--ink:#ededed;--muted:#a0a0a0;--body-muted:var(--muted);--soft:#9a9a9a;--line:#303030;--line-strong:#424242;--surface:#191919;--placeholder:#262626;--placeholder-strong:#555;--stripe:#60606057;--dot:#ededed1f;--shine:245 245 245;--accent:#d8d8d8;--green:#8aa783;--blue:#6d9bc2;--yellow:#e0c36b;--hero-muted-start:142;--hero-muted-end:237;--hero-fill-end:237;--heading-ink:rgb(var(--hero-muted-end) var(--hero-muted-end) var(--hero-muted-end))}::view-transition-old(root){backface-visibility:hidden;transform-origin:50%;animation-duration:.52s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(root){backface-visibility:hidden;transform-origin:50%;animation-duration:.52s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:themeFadeOut}::view-transition-new(root){animation-name:themeFadeIn}html.is-route-exiting,html.is-route-entering{pointer-events:none}html.is-route-exiting body:before,html.is-route-entering body:before{content:"";z-index:1090;pointer-events:none;background:linear-gradient(180deg, rgb(var(--bg-rgb) / .96), rgb(var(--bg-rgb) / .82) 54%, rgb(var(--bg-rgb) / .42)), radial-gradient(circle at 50% 8%, rgb(var(--shine) / .22), transparent 36%);border-block:1px solid var(--line-strong);position:fixed;inset:0}html.is-route-exiting body:before{animation:.68s cubic-bezier(.45,0,.2,1) both routeFocusVeilOut}html.is-route-entering body:before{animation:.92s cubic-bezier(.19,1,.22,1) both routeFocusVeilIn}html.is-route-exiting .site-header,html.is-route-exiting .mobile-header{--route-header-x:0%;animation:.68s cubic-bezier(.45,0,.2,1) both routeHeaderOut}html.is-route-exiting .site-header{--route-header-x:-50%}html.is-route-exiting .page-frame{transform-origin:50% 15%;animation:.68s cubic-bezier(.45,0,.2,1) both routePageOut}html.is-route-entering .site-header,html.is-route-entering .mobile-header{--route-header-x:0%;animation:.72s cubic-bezier(.19,1,.22,1) both routeHeaderIn}html.is-route-entering .site-header{--route-header-x:-50%}html.is-route-entering .page-frame{transform-origin:50% 85%;animation:.92s cubic-bezier(.19,1,.22,1) both routePageIn}html.is-route-entering.route-tone-project .page-frame{animation-name:routeProjectIn}html.is-route-entering.route-tone-index .page-frame{animation-name:routeIndexIn}html.is-route-settling .page-frame>*{animation:.72s cubic-bezier(.19,1,.22,1) .1s both routeContentSettle}@keyframes themeFadeOut{to{opacity:.18;filter:blur(2px)}}@keyframes themeFadeIn{0%{opacity:.18;filter:blur(2px)}}@keyframes routeFrameFocus{0%{filter:none}45%{filter:saturate(.86)contrast(.98)}to{filter:none}}@keyframes routePageOut{0%{opacity:1;filter:blur();transform:translate(0)scale(1)}to{opacity:.16;filter:blur(18px);transform:translate(-52px)scale(.982)}}@keyframes routeHeaderOut{to{opacity:.24;filter:blur(8px);transform:translateX(calc(var(--route-header-x) - 34px))}}@keyframes routeHeaderIn{0%{opacity:0;filter:blur(8px);transform:translateX(calc(var(--route-header-x) + 34px))}to{opacity:1;filter:blur();transform:translateX(var(--route-header-x))}}@keyframes routePageIn{0%{opacity:0;clip-path:inset(0 0 0 100%);filter:blur(24px);transform:translate(64px)scale(1.018)}58%{opacity:1;filter:blur(7px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}}@keyframes routeProjectIn{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(24px);transform:translate(-64px)scale(1.018)}62%{opacity:1;filter:blur(7px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}}@keyframes routeIndexIn{0%{opacity:0;clip-path:inset(0 18%);filter:blur(22px);transform:translate(42px)scale(.978)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translateY(0)scale(1)}}@keyframes routeFocusVeilOut{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-18px)}42%,to{opacity:1;clip-path:inset(0);transform:translate(0)}}@keyframes routeFocusVeilIn{0%,24%{opacity:1;clip-path:inset(0);transform:translate(0)}to{opacity:0;clip-path:inset(0 0 0 100%);transform:translate(18px)}}@keyframes routeContentSettle{0%{opacity:.82;filter:blur(4px);transform:translate(18px)}to{opacity:1;filter:blur();transform:translate(0)}}@font-face{font-family:Stack Sans Text;font-style:normal;font-display:swap;font-weight:200 700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/stack-sans-text@latest/latin-wght-normal.woff2)format("woff2")}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);cursor:var(--cursor-default);scroll-behavior:auto;scroll-padding-top:24px}body{min-height:100vh;font-family:var(--font-text);background:var(--bg);cursor:var(--cursor-default);margin:0;font-weight:400}a{color:inherit;cursor:var(--cursor-button);text-decoration:none}button{cursor:var(--cursor-button);font:inherit}input,textarea,[contenteditable=true]{cursor:var(--cursor-text)}button:focus,button:active,button:focus-visible,button:focus-within{outline:none!important}::selection{background:var(--ink);color:var(--bg)}.site-shell{--hero-text-progress:0;min-height:100vh}.page-loader-study{z-index:1200;background:var(--bg);pointer-events:none;place-items:center;animation:4.2s cubic-bezier(.16,1,.3,1) forwards loaderStudyVeil;display:grid;position:fixed;inset:0;overflow:hidden}.page-loader-dot-field{background-image:radial-gradient(circle, var(--dot) 0 .7px, transparent .8px);opacity:.72;background-size:8px 8px;position:absolute;inset:0}.page-loader-mark{place-items:center;width:100%;height:96px;animation:4.2s cubic-bezier(.16,1,.3,1) forwards loaderStudyMark;display:grid;position:relative}.page-loader-logo-box{z-index:2;border:1px solid var(--line);background:var(--bg);place-items:center;width:64px;height:64px;animation:4.2s cubic-bezier(.16,1,.3,1) forwards loaderStudyLogo;display:grid;position:relative}.page-loader-logo-box:after{content:"";border:1px solid var(--line-strong);opacity:0;pointer-events:none;animation:4.2s cubic-bezier(.16,1,.3,1) forwards loaderStudyLogoEdge;position:absolute;inset:-1px}.page-loader-logo-box img{width:30px;height:30px}[data-theme=dark] .page-loader-logo-box img{filter:invert()brightness(1.1)}.page-loader-line{opacity:0;will-change:transform, opacity;width:max(0px,50vw - 32px);height:1px;animation:4.2s cubic-bezier(.16,1,.3,1) forwards loaderStudyLine;position:absolute;top:50%;transform:scaleX(0)}.page-loader-line-left{transform-origin:0;background:linear-gradient(90deg, transparent, var(--line) 8%, var(--line-strong) 54%, var(--ink) 100%);left:0}.page-loader-line-right{transform-origin:100%;background:linear-gradient(270deg, transparent, var(--line) 8%, var(--line-strong) 54%, var(--ink) 100%);right:0}@keyframes loaderStudyVeil{0%,10%{opacity:1}76%{opacity:1}94%,to{opacity:0}}@keyframes loaderStudyMark{0%,66%{transform:scale(1)}78%,to{transform:scale(1.14)}}@keyframes loaderStudyLogo{0%{opacity:0;filter:blur(2px);transform:translateY(3px)scale(.98)}20%,66%{opacity:1;filter:blur();transform:translateY(0)scale(1)}70%{opacity:.62;filter:blur();transform:translateY(0)scale(1.08)}78%,to{opacity:0;filter:blur(2.5px);transform:translateY(0)scale(1.18)}}@keyframes loaderStudyLogoEdge{40%,64%{opacity:0}70%{opacity:1}78%,to{opacity:0}}@keyframes loaderStudyLine{0%,18%{opacity:0;transform:scaleX(0)}26%{opacity:1}66%{opacity:1;transform:scaleX(1)}72%,to{opacity:0;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.page-loader-study,.page-loader-mark,.page-loader-logo-box,.page-loader-logo-box:after,.page-loader-line{animation:none}.page-loader-study{opacity:0}}.bottom-blur{z-index:999;background:linear-gradient(to bottom, rgb(var(--bg-rgb) / 0), rgb(var(--bg-rgb) / .2) 70%, rgb(var(--bg-rgb) / .46));pointer-events:none;height:78px;position:fixed;bottom:-38px;left:0;right:0}.bottom-blur span{pointer-events:none;position:absolute;inset:0}.bottom-blur span:first-child{-webkit-backdrop-filter:blur(.75px);backdrop-filter:blur(.75px);-webkit-mask-image:linear-gradient(#0000 0%,#000 22%,#0000 44%);mask-image:linear-gradient(#0000 0%,#000 22%,#0000 44%)}.bottom-blur span:nth-child(2){-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);-webkit-mask-image:linear-gradient(#0000 18%,#000 42%,#0000 64%);mask-image:linear-gradient(#0000 18%,#000 42%,#0000 64%)}.bottom-blur span:nth-child(3){-webkit-backdrop-filter:blur(2.35px);backdrop-filter:blur(2.35px);-webkit-mask-image:linear-gradient(#0000 38%,#000 62%,#0000 84%);mask-image:linear-gradient(#0000 38%,#000 62%,#0000 84%)}.bottom-blur span:nth-child(4){-webkit-backdrop-filter:blur(3.25px);backdrop-filter:blur(3.25px);-webkit-mask-image:linear-gradient(#0000 58%,#000 80%,#0000 100%);mask-image:linear-gradient(#0000 58%,#000 80%,#0000 100%)}.bottom-blur span:nth-child(5){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(#0000 72%,#000 100%);mask-image:linear-gradient(#0000 72%,#000 100%)}:is(body:has(.works-index) .bottom-blur,body:has(.project-page) .bottom-blur){display:none}.codex-powered-tooltip{z-index:1000;background:var(--bg);color:#373131;max-width:calc(100vw - 36px);font-family:var(--font-text);opacity:0;pointer-events:none;transform-origin:100% 100%;white-space:normal;border:1px solid #d8d8d8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 8px;font-size:12px;font-weight:300;line-height:24px;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .26s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;bottom:18px;right:18px;transform:translateY(6px)scale(.98);box-shadow:0 10px 24px #00000014}.codex-powered-tooltip.is-visible{opacity:1;transform:translateY(0)scale(1)}.codex-powered-tooltip strong{color:inherit;font-weight:500}.codex-powered-tooltip-brand{align-items:center;gap:4px;display:inline-flex}.codex-powered-tooltip-brand img{object-fit:contain;width:16px;height:16px;display:block}.site-shell:before{content:"";z-index:5;background:var(--line);pointer-events:none;width:1px;top:0;bottom:0;left:max(16px, calc(50vw - var(--max) / 2));display:none;position:fixed}.grid-lines{z-index:0;width:min(var(--max), calc(100% - 32px));pointer-events:none;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.grid-line{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.grid-line-left{left:0}.grid-line-rail{left:var(--left-rail);display:none}.grid-line-right{right:0}.page-frame{width:min(var(--max), calc(100% - 32px));margin:0 auto;padding:0 0 80px}.page-frame:has(.not-found){width:100%;padding-bottom:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}#smooth-wrapper,#smooth-content{min-height:100%}#smooth-wrapper{z-index:1;position:relative}.site-header{z-index:40;width:min(var(--max), calc(100% - 48px));border:1px solid var(--line);background:var(--bg);min-height:64px;color:var(--soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:14px;line-height:1;transition:min-height .22s,top .22s,background .22s,box-shadow .22s;display:grid;position:fixed;top:0;left:50%;overflow:visible;transform:translate(-50%)}.site-header:after{content:"";z-index:0;background:var(--line);pointer-events:none;width:100vw;height:1px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.site-header>*{z-index:1;position:relative}.site-header .line-vertices{z-index:2}.site-shell.is-header-compact .site-header{background:var(--bg);min-height:48px;box-shadow:none;top:0}.site-shell.is-header-compact .figma-logo,.site-shell.is-header-compact .figma-logo img{width:24px;height:24px}.header-left,.header-right,.site-header nav{align-items:center;display:flex}.header-left{min-height:inherit;gap:0;min-width:0;padding:0}.site-header nav{flex-wrap:wrap;gap:8px 12px;min-width:0;padding:0 16px}.site-header nav a,.site-header nav .header-nav-item{letter-spacing:.01em;align-items:center;min-height:30px;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.solar-icon{flex:none;width:17px;height:17px}.site-header a,.site-header button{color:var(--soft);transition:color .18s cubic-bezier(.16,1,.3,1)}.site-header a:hover,.site-header button:hover,.site-header nav a.is-active,.site-header nav a[aria-current=page],.mobile-header nav a.is-active,.mobile-header nav a[aria-current=page]{color:var(--ink)}.site-header nav .header-nav-item.is-unavailable{color:var(--muted);cursor:var(--cursor-help);gap:6px;position:relative}.header-nav-status{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, var(--surface));color:var(--soft);opacity:0;pointer-events:none;white-space:nowrap;border-radius:4px;padding:5px 7px;font-size:11px;font-weight:400;line-height:1;transition:opacity .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-3px)}.site-header nav .header-nav-item.is-unavailable:hover .header-nav-status{opacity:1;transform:translate(-50%)}.header-random-swap{display:inline-flex}.header-random-swap-char{vertical-align:bottom;line-height:1;display:inline-block;position:relative;overflow:hidden}.header-random-swap-old,.header-random-swap-new{transition:opacity .52s cubic-bezier(.19,1,.22,1),filter .52s cubic-bezier(.19,1,.22,1),transform .52s cubic-bezier(.19,1,.22,1);transition-delay:var(--swap-delay);will-change:opacity, transform;display:block}.header-random-swap-new{opacity:0;filter:blur(2px);position:absolute;inset:0;transform:translateY(88%)}.site-header nav a:hover .header-random-swap-old,.site-header nav a:focus-visible .header-random-swap-old,.header-chat:hover .header-random-swap-old,.header-chat:focus-visible .header-random-swap-old,.project-link-button:hover .header-random-swap-old,.project-link-button:focus-visible .header-random-swap-old,.not-found-home-link:hover .header-random-swap-old,.not-found-home-link:focus-visible .header-random-swap-old{opacity:0;filter:blur(2px);transform:translateY(-88%)}.site-header nav a:hover .header-random-swap-new,.site-header nav a:focus-visible .header-random-swap-new,.header-chat:hover .header-random-swap-new,.header-chat:focus-visible .header-random-swap-new,.project-link-button:hover .header-random-swap-new,.project-link-button:focus-visible .header-random-swap-new,.not-found-home-link:hover .header-random-swap-new,.not-found-home-link:focus-visible .header-random-swap-new{opacity:1;filter:blur();transform:translateY(0)}.header-right{min-height:inherit;justify-content:flex-end;gap:12px;padding:0 16px}.header-right button{border:1px solid var(--line-strong);background:var(--bg);width:32px;height:28px;color:var(--soft);cursor:var(--cursor-button);border-radius:999px;place-items:center;display:grid}.figma-logo{place-items:center;width:30px;height:30px;margin:0 16px;font-size:20px;font-weight:700;display:grid;color:var(--ink)!important}.site-header .figma-logo{position:relative}.site-header .figma-logo:after{content:"";background:repeating-linear-gradient(to bottom, var(--line-strong) 0 4px, transparent 4px 8px);pointer-events:none;width:1px;height:64px;position:absolute;top:-17px;right:-16px}.site-shell.is-header-compact .site-header .figma-logo:after{height:48px;top:-12px}.figma-logo img{width:30px;height:30px}[data-theme=dark] .figma-logo img{filter:invert()brightness(1.1)}.figma-logo,.figma-logo img{transition:width .22s,height .22s,filter .22s}.social-links{align-items:center;gap:8px;display:flex}.social-links img{width:20px;height:20px}.header-right button img{width:16px;height:16px}@property --cta-shine-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.header-chat{letter-spacing:.01em;white-space:nowrap;justify-content:center;align-items:center;min-height:30px;padding:0;font-size:14px;font-weight:500;line-height:1;transition:color .18s cubic-bezier(.16,1,.3,1);display:inline-flex;color:var(--soft)!important}.proposal-site-header{display:none}body:has(.proposalPage) .site-header:not(.proposal-site-header){display:none}body:has(.proposalPage) .mobile-header{display:none}body:has(.proposalPage) .proposal-site-header{display:grid}.header-chat:hover{color:var(--ink)!important}@keyframes headerCtaShine{to{--cta-shine-angle:360deg}}.side-nav{top:24px;left:max(24px, calc((100vw - var(--max)) / 2));z-index:10;border-left:1px solid var(--line-strong);flex-direction:column;justify-content:space-between;width:142px;padding-left:16px;display:flex;position:fixed;bottom:24px}.brand-lockup,.brand-mark{font-family:var(--font-display);font-size:28px;line-height:.9}.brand-lockup span{display:block}.side-nav nav{gap:14px;display:grid}.side-nav nav a,.side-nav nav .side-nav-unavailable,.side-meta,.mobile-header nav{color:var(--muted);text-transform:uppercase;font-size:12px}.side-nav nav a,.side-nav nav .side-nav-unavailable{grid-template-columns:24px 1fr;align-items:center;min-height:28px;transition:color .18s,transform .18s;display:grid}.side-nav nav .side-nav-unavailable{cursor:var(--cursor-help)}.side-nav nav a:hover,.side-nav nav a.active{color:var(--ink);transform:translate(6px)}.side-nav nav a.active:after{content:"";background:var(--accent);grid-column:2;width:42px;height:1px;margin-top:8px}.side-meta{gap:10px;display:grid}.mobile-header{display:none}.hero-section{grid-template-columns:minmax(0,1fr) 290px;align-items:end;gap:48px;min-height:calc(100vh - 112px);padding-bottom:7vh;display:grid}.hero-copy h1,.page-heading h1,.contact-section h1,.project-hero h1{max-width:980px;font-family:var(--font-display);margin:0;font-size:clamp(56px,8vw,132px);font-weight:500;line-height:.9}.hero-copy h1{max-width:930px}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 22px;font-size:12px}.intro,.page-heading p,.contact-section p,.project-hero p{max-width:620px;color:var(--muted);font-size:clamp(18px,2vw,24px);line-height:1.35}.action-row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:34px;display:flex}.button,.text-link{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--bg);border-radius:999px;align-items:center;gap:16px;padding:0 18px;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover,.text-link:hover{transform:translateY(-2px)}.text-link{color:var(--ink);background:0 0}.button span{color:#f2f0eba3}.hero-panel{border-left:1px solid var(--line-strong);align-content:end;gap:8px;padding-left:18px;display:grid}.hero-panel span,.tag-cloud a,.principles span{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;width:fit-content;padding:8px 12px;font-size:13px;display:inline-flex}.section-grid{border-top:1px solid var(--line-strong);grid-template-columns:.7fr 1.3fr;gap:48px;padding:56px 0;display:grid}.section-grid h2,.work-card h2,.lab-card h2,.story-stack h2{font-family:var(--font-display);margin:0;font-size:clamp(34px,4vw,64px);font-weight:500;line-height:.95}.project-list{gap:16px;display:grid}.project-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:22px;padding:18px 0;display:grid}.project-row h3{margin:6px 0 8px;font-size:clamp(24px,3vw,40px);font-weight:500}.project-row p,.work-card p,.lab-card p,.story-stack p,.about-copy p{color:var(--muted);font-size:17px;line-height:1.5}.project-row span,.card-meta,.project-facts dt{color:var(--muted);text-transform:uppercase;font-size:12px}.tag-cloud{flex-wrap:wrap;align-content:start;gap:10px;display:flex}.content-section,.project-page,.contact-section{background:var(--bg);padding:92px 0 80px}.project-page{padding:48px 0 0}.not-found{isolation:isolate;place-items:center;min-height:calc(100vh - 80px);padding:96px 24px 56px;display:grid;position:relative;overflow:hidden}.not-found-dot-field{z-index:0}.not-found-panel{z-index:2;text-align:center;justify-items:center;width:min(100%,560px);display:grid;position:relative}.not-found h1{max-width:520px;font-family:var(--font-display);margin:0;font-size:clamp(28px,3.2vw,32px);font-weight:500;line-height:1}.not-found-panel>p:not(.eyebrow){max-width:360px;color:var(--muted);margin:14px 0 0;font-size:14px;font-weight:300;line-height:1.45}.not-found-dot-code{opacity:1;grid-template-columns:repeat(11,4.5px);gap:4.5px;margin:0 0 24px;display:grid}.not-found-dot-code span{background:#22222221;border-radius:999px;width:4.5px;height:4.5px}.not-found-dot-code span.is-active{background:var(--ink)}.not-found-home-link{min-height:30px;color:var(--ink);letter-spacing:.01em;align-items:center;margin-top:28px;font-size:14px;font-weight:500;line-height:1;transition:color .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.not-found-home-link:hover{color:var(--ink)}.page-heading{margin-bottom:56px}.work-grid,.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.work-card,.lab-card{border-top:1px solid var(--line-strong);gap:16px;padding-top:18px;display:grid}
.works-index{border-right:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);min-height:calc(100svh - 48px);padding-top:64px;position:relative}.lab-page{border-right:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);min-height:calc(100svh - 48px);padding-top:64px;display:grid;position:relative}.lab-page-heading{border-bottom:1px solid var(--line-strong);padding:28px 32px 22px;animation:.76s cubic-bezier(.19,1,.22,1) 90ms both labHeadingIn;display:grid}.lab-page-heading h1,.lab-page-heading p{margin:0}.lab-page-heading h1{max-width:760px;color:var(--heading-ink);font-family:var(--font-display);letter-spacing:0;text-wrap:balance;font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.18}@keyframes labHeadingIn{0%{opacity:0;filter:blur(10px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}.works-hero{border-bottom:1px solid var(--line);background:var(--bg);grid-template-columns:minmax(0,1fr);align-items:start;gap:32px;min-height:178px;padding:44px 32px 24px;display:grid;position:relative;overflow:hidden}.works-title-group{z-index:3;align-content:start;justify-items:start;gap:18px;min-width:0;display:grid;position:relative}.works-title-lockup{z-index:3;flex-wrap:wrap;align-items:flex-start;gap:8px 12px;min-width:0;display:flex;position:relative}.works-title-lockup h1{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:36px;font-weight:500;line-height:.88}.works-title-lockup>span{color:var(--ink);font-family:var(--font-display);margin-top:5px;font-size:16px;font-weight:500;line-height:.88}.works-filter-stack{z-index:3;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:7px 8px;width:100%;min-width:0;margin-left:0;display:flex;position:relative}.works-range{z-index:3;color:var(--body-muted);font-family:var(--font-display);white-space:nowrap;place-self:start;font-size:14px;font-weight:300;line-height:1;position:relative}.works-title-lockup .works-range{color:var(--body-muted);margin-top:8px;margin-left:2px;font-size:14px;font-weight:300}.works-filter-stack button{border:1px solid var(--line);min-height:28px;color:var(--body-muted);font-family:var(--font-display);letter-spacing:0;text-align:left;white-space:nowrap;word-spacing:.08em;background:0 0;border-radius:999px;padding:0 12px;font-size:14px;font-weight:400;line-height:1;transition:border-color .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),background-color .18s cubic-bezier(.16,1,.3,1)}.works-filter-stack button:hover,.works-filter-stack button:focus-visible{border-color:var(--ink);color:var(--ink);background:0 0}.works-filter-stack button.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.works-archive{isolation:isolate;min-height:calc(100svh - 226px);display:grid;position:relative}.works-archive.is-previewing .works-row:not(.is-active){opacity:.34}.works-archive.is-previewing .works-row.is-active{color:var(--ink)}.works-list{z-index:2;align-content:start;display:grid;position:relative}.works-row{border-top:1px solid var(--line);min-height:58px;color:var(--body-muted);grid-template-columns:86px minmax(220px,1fr) minmax(120px,.22fr) minmax(112px,.2fr);align-items:center;column-gap:10px;padding:12px 32px;font-size:14px;line-height:1;transition:background-color .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),opacity .26s cubic-bezier(.16,1,.3,1);display:grid}.works-row:hover,.works-row:focus-visible,.works-row.is-active{color:var(--ink);background:0 0}.works-row.is-unavailable{cursor:var(--cursor-help)}.works-row-title{color:var(--ink);font-family:var(--font-display);font-weight:500}.works-row-cover{display:none}.works-row-year{color:var(--body-muted)}.works-row-type,.works-row-tag{color:var(--muted);text-align:right;justify-self:end}.works-row-meta{display:contents}.works-row:hover .works-row-type,.works-row:hover .works-row-tag,.works-row:focus-visible .works-row-type,.works-row:focus-visible .works-row-tag,.works-row.is-active .works-row-type,.works-row.is-active .works-row-tag{color:var(--ink)}.works-empty{border-top:1px solid var(--line);color:var(--body-muted);margin:0;padding:28px 32px;font-size:14px;line-height:1.4}.works-stage{z-index:4;opacity:0;pointer-events:none;width:clamp(290px,34vw,440px);height:clamp(330px,38vw,440px);transition:opacity .26s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1);position:absolute;top:clamp(22px,6svh,64px);left:48%;transform:translate(-50%)translateY(10px)scale(.985)}.works-stage.is-visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.works-deck-card{--deck-depth:0;z-index:calc(20 - var(--deck-depth));border:1px solid color-mix(in srgb, var(--line-strong) 72%, var(--placeholder-strong));background:radial-gradient(circle, rgb(var(--bg-rgb) / .28) 0 .7px, transparent .8px), var(--placeholder);opacity:clamp(.18, calc(1 - (var(--deck-depth) * .16)), 1);transform:translate3d(0, calc(var(--deck-depth) * -31px), 0) scale(calc(1 - (var(--deck-depth) * .055)));transform-origin:50% 100%;transition:opacity .62s cubic-bezier(.19,1,.22,1),transform .72s cubic-bezier(.19,1,.22,1),filter .72s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--deck-depth) * 24ms);will-change:transform, opacity, filter;background-size:8px 8px,auto;border-radius:12px;place-items:end start;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 56px #0000001f}.works-deck-card:not(:first-child){filter:blur(calc(var(--deck-depth) * 1.6px)) saturate(.9) contrast(.985)}.works-deck-card .visual-tile{transform-origin:50%;border:0;border-radius:12px;min-height:0;position:absolute;inset:0;transform:scale(1.18)}.works-deck-card .visual-tile:before{display:none}.works-deck-card .visual-tile img{object-fit:cover;width:100%;height:100%}.works-stage-caption{z-index:1;border:1px solid color-mix(in srgb, var(--line) 74%, transparent);background:rgb(var(--bg-rgb) / .82);max-width:calc(100% - 24px);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;margin:12px;padding:7px 10px;font-size:12px;font-weight:500;line-height:1;display:inline-flex;position:relative}.works-stage-caption span:first-child{text-overflow:ellipsis;overflow:hidden}.works-stage-caption span:last-child{color:var(--muted)}.card-meta{justify-content:space-between;gap:18px;display:flex}.visual-tile{border:1px solid var(--line-strong);background:linear-gradient(135deg, #ffffff3d, transparent), var(--surface);min-height:130px;margin:0;position:relative;overflow:hidden}.visual-tile.large{min-height:340px}.visual-tile:before{content:"";border:1px solid #17171429;position:absolute;inset:14px}.visual-tile.has-image{background:var(--surface);place-items:center;display:grid}.visual-tile.has-image:before{display:none}.visual-tile.has-image img{object-position:center;width:100%;height:100%;display:block}.visual-tile.has-image.fit-cover img{object-fit:cover}.visual-tile.has-image.fit-contain img{object-fit:contain}.visual-ui{gap:8px;display:grid;position:absolute;top:24px;left:24px;right:24px}.visual-ui span{background:#17171429;height:10px}.visual-ui span:nth-child(2){width:62%}.visual-ui span:nth-child(3){width:38%}.visual-orbit{aspect-ratio:1;border:1px solid #1717145c;border-radius:50%;width:28%;position:absolute;bottom:18%;right:14%}.visual-stack{gap:8px;display:flex;position:absolute;bottom:24px;left:24px}.visual-stack span{background:#17171433;width:32px;height:48px}.variant-signal,.variant-signal-a,.variant-brief{background-color:#556f5338}.variant-checkout,.variant-checkout-b,.variant-motion{background-color:#b4452d33}.variant-ops,.variant-ops-c,.variant-weeds{background-color:#335d7d33}.variant-signal-b,.variant-checkout-a,.variant-ops-b{background-color:#d7af4b38}.project-single-hero{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-left:1px solid var(--line-strong);background:var(--bg);min-height:calc(100vh - 48px);display:grid;position:relative;overflow:hidden}.project-single-intro-top{gap:8px;padding:16px 32px 0;display:grid}.project-single-breadcrumb{width:fit-content;color:var(--muted);align-items:center;gap:6px;font-size:14px;line-height:1;transition:color .16s,transform .16s;display:inline-flex}.project-single-breadcrumb:hover{color:var(--ink)}.project-single-overview{grid-template-columns:minmax(min(620px,62vw),1fr) minmax(220px,.34fr);align-items:stretch;gap:0;display:grid;position:relative}.project-single-overview>*{align-content:center;min-height:128px;padding-top:24px;padding-bottom:24px;display:grid}.project-single-overview>:first-child{padding-left:32px}.project-single-meta{color:var(--muted);grid-template-columns:1fr auto;gap:14px;font-size:12px;line-height:1.25;display:grid}.project-single-meta span:first-child{max-width:22ch}.project-single-hero h1{max-width:18ch;color:var(--heading-ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(30px,3.1vw,36px);font-weight:500;line-height:1.08}.project-single-summary{max-width:72ch;color:var(--muted);font-family:var(--font-display);letter-spacing:.005em;margin:12px 0 0;font-size:16px;line-height:1.5}.project-single-tags{flex-wrap:nowrap;place-content:center flex-start;gap:8px;margin-top:16px;padding-bottom:0;display:flex;overflow-x:auto}.project-single-tags span{border:1px solid var(--line-strong);background:var(--bg);min-height:30px;font-family:var(--font-display);letter-spacing:0;white-space:nowrap;border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:400;line-height:1.1;transition:border-color .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.project-single-tags span:hover{border-color:var(--ink)}.works-gallery-3d{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);color:#222;isolation:isolate;background-color:#f6f6f6;background-image:radial-gradient(circle at 50% 46%,#22222214,#0000 34%),radial-gradient(circle,#22222238 0 .7px,#0000 .8px);background-size:auto,8.7px 8.7px;min-height:min(560px,100svh - 172px);position:relative;overflow:hidden}.mwg_effect077+.mwg_effect099,.mwg_effect099+.mwg_effect075,.mwg_effect075+.spiral-card-experiment,.spiral-card-experiment+.works-gallery-3d{margin-top:56px}.works-gallery-3d:before{content:none}.works-gallery-3d:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#f6f6f6e0);height:78px;position:absolute;bottom:0;left:0;right:0}.works-gallery-3d-tabs{z-index:4;color:#2222226b;font-family:var(--font-display);align-items:center;gap:16px;font-size:16px;font-weight:500;line-height:1;display:inline-flex;position:absolute;top:clamp(18px,4svh,32px);left:32px}.works-gallery-3d-lucky{z-index:4;border:1px solid var(--line-strong);background:rgb(var(--bg-rgb) / .86);min-height:34px;color:var(--ink);font-family:var(--font-display);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:0 14px;font-size:14px;line-height:1;transition:border-color .18s cubic-bezier(.16,1,.3,1),background-color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:clamp(14px,3.4svh,24px);right:32px}.works-gallery-3d-lucky:hover,.works-gallery-3d-lucky:focus-visible{border-color:var(--ink);background:var(--bg);transform:translateY(-1px)}.works-gallery-3d-tabs span:first-child{color:#222}.works-gallery-3d-tabs span:nth-child(2){background:#222;border-radius:999px;width:8px;height:8px}.works-gallery-3d-stage{z-index:1;cursor:var(--cursor-grab);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.works-gallery-3d-stage.is-dragging{cursor:var(--cursor-grabbing)}.works-gallery-3d-stage canvas{width:100%;height:100%;display:block}.works-gallery-3d-fallback{display:none}.works-gallery-3d-fallback figure{margin:0}.works-gallery-3d-fallback img{object-fit:contain;width:100%;height:100%;display:block}.mwg_effect077{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);perspective:300vw;isolation:isolate;background-color:#f6f6f6;background-image:radial-gradient(circle at 50% 46%,#22222214,#0000 34%),radial-gradient(circle,#22222238 0 .7px,#0000 .8px);background-size:auto,8.7px 8.7px;place-items:center;height:min(760px,100svh - 96px);margin-top:36px;display:grid;position:relative;overflow:hidden}.mwg_effect077:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#f6f6f6e0);height:86px;position:absolute;bottom:0;left:0;right:0}.mwg_effect077 .media{z-index:3;will-change:transform;width:clamp(230px,24vw,342px);min-height:0;transform-style:preserve-3d;background:#f9f8f3;border:1px solid #e8e8e8;border-radius:clamp(13px,1.1vw,20px);flex-direction:column;padding:clamp(18px,1.8vw,28px) 16px 16px;display:flex;position:relative;overflow:visible;box-shadow:0 28px 70px #0000002e}.mwg_effect077 .content{z-index:3;color:#000;text-align:left;text-transform:none;position:relative;transform:none}.mwg_effect077 .media p{font-family:var(--font-display);letter-spacing:0;text-wrap:balance;margin:0;font-size:32px;font-weight:500;line-height:.94}.mwg_effect077 .media-reward{z-index:2;aspect-ratio:719/946;width:100%;margin-top:clamp(18px,2.2vw,28px);display:block;position:relative;overflow:hidden;-webkit-mask:url(/assets/shapes/depth-card-mask.svg) 50%/100% 100% no-repeat;mask:url(/assets/shapes/depth-card-mask.svg) 50%/100% 100% no-repeat}.media-reward-banner{z-index:1;color:#f9f8f3;text-align:center;filter:blur(10px);transform-origin:50%;will-change:filter, transform;background:linear-gradient(#080a0a14,#080a0a57),url(/assets/lab/messi-world-cup.jpg) 50%/cover no-repeat;align-content:center;place-items:center;transition:filter .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;inset:0;overflow:hidden;transform:scale(1.035)}.media.is-revealed .media-reward-banner{filter:blur();transform:scale(1)}.media-reward-banner span{color:#171714;font-family:var(--font-display);letter-spacing:0;text-transform:none;font-size:clamp(40px,4.4vw,52px);font-weight:500;line-height:.86}.media-reward-banner strong{font-family:var(--font-display);letter-spacing:0;font-size:clamp(46px,5vw,72px);font-weight:500;line-height:.86;display:none}.media-reward-banner code{color:#171714;font-family:var(--font-display);letter-spacing:.04em;background:#f9f8f3e6;border:1px solid #f9f8f361;border-radius:999px;padding:12px 18px;font-size:18px;font-weight:500;line-height:1;box-shadow:0 14px 36px #0000003d}.media-reward canvas{z-index:3;width:100%;height:100%;cursor:var(--cursor-grab);touch-action:none;position:absolute;inset:0}.media.is-revealed .media-reward canvas{pointer-events:none}.media-confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.media-confetti-piece{will-change:transform, opacity;border-radius:2px;display:block;position:absolute;box-shadow:0 0 0 1px #17171414}.media-confetti-piece-2{border-radius:999px}.media-confetti-piece-3{clip-path:polygon(50% 0,100% 100%,0 100%)}.media-confetti-piece-4{transform-origin:50%;border-radius:0}.media-reset{z-index:5;border:1px solid var(--line-strong);background:rgb(var(--bg-rgb) / .86);min-height:34px;color:var(--ink);font-family:var(--font-display);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:var(--cursor-pointer);border-radius:999px;padding:0 14px;font-size:14px;line-height:1;transition:border-color .18s cubic-bezier(.16,1,.3,1),background-color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);position:absolute;top:clamp(14px,3.4svh,24px);right:32px}.media-reset:hover,.media-reset:focus-visible{border-color:var(--ink);background:var(--bg);transform:translateY(-1px)}.mwg_effect099{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);width:100%;height:min(760px,100svh - 72px);cursor:var(--cursor-grab);isolation:isolate;overscroll-behavior:contain;touch-action:none;background-color:#f6f6f6;background-image:radial-gradient(circle at 50% 46%,#22222214,#0000 34%),radial-gradient(circle,#22222238 0 .7px,#0000 .8px);background-size:auto,8.7px 8.7px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.mwg_effect099:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#f6f6f6e0);height:86px;position:absolute;bottom:0;left:0;right:0}.mwg_effect099:active{cursor:var(--cursor-grabbing)}.mwg_effect099 .sphere-container{z-index:1;perspective-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.mwg_effect099 .sphere{width:1px;height:1px;transform-style:preserve-3d;position:relative}.mwg_effect099 .media{width:clamp(40px,6.2vw,84px);height:clamp(58px,9vw,122px);transform-style:preserve-3d;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform;background:#f4f4f4;border:1px solid #22222229;border-radius:clamp(6px,.4vw,9px);margin-top:calc(clamp(58px,9vw,122px)/-2);margin-left:calc(clamp(40px,6.2vw,84px)/-2);position:absolute;top:50%;left:50%;box-shadow:inset 0 1px #ffffffa8,0 12px 28px #00000014}.mwg_effect075{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);isolation:isolate;overscroll-behavior:contain;scrollbar-width:none;background-color:#f6f6f6;background-image:radial-gradient(circle at 50% 46%,#22222214,#0000 34%),radial-gradient(circle,#22222238 0 .7px,#0000 .8px);background-size:auto,8.7px 8.7px;height:min(760px,100svh - 72px);position:relative;overflow:hidden auto}.mwg_effect075::-webkit-scrollbar{display:none}.mwg_effect075 .pin-height{height:240%}.mwg_effect075 .container{height:100%;position:relative;overflow:hidden}.mwg_effect075 .container:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#f6f6f6e0);height:86px;position:absolute;bottom:0;left:0;right:0}.mwg_effect075 .circles{aspect-ratio:1;will-change:transform;width:300%;margin:calc(min(760px,100svh - 72px)/1.81818) 0 0 -100%;position:relative}.mwg_effect075 .circle{visibility:hidden;will-change:transform;width:100%;height:100%;position:absolute}.mwg_effect075 .circle.on{visibility:visible}.mwg_effect075 .media{aspect-ratio:.75;background:#f4f4f4;border:1px solid #e8e8e8;border-radius:clamp(10px,1vw,16px);width:clamp(126px,18vw,246px);margin:0 auto;display:block;transform:translateY(-50%);box-shadow:inset 0 1px #ffffffa8,0 12px 28px #00000014}.spiral-card-experiment{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);isolation:isolate;background-color:#f6f6f6;background-image:radial-gradient(circle at 50% 46%,#22222214,#0000 34%),radial-gradient(circle,#22222238 0 .7px,#0000 .8px);background-size:auto,8.7px 8.7px;min-height:min(680px,100svh - 132px);margin-top:36px;position:relative;overflow:hidden}.spiral-card-experiment:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#0000,#f6f6f6e0);height:86px;position:absolute;bottom:0;left:0;right:0}.spiral-card-experiment-label{z-index:4;color:#2222226b;font-family:var(--font-display);align-items:center;gap:16px;font-size:16px;font-weight:500;line-height:1;display:inline-flex;position:absolute;top:clamp(18px,4svh,32px);left:32px}.spiral-card-experiment-label span:first-child{color:var(--ink)}.spiral-card-experiment-label span:nth-child(2){background:var(--ink);border-radius:999px;width:8px;height:8px}.spiral-card-experiment-stage{z-index:1;cursor:var(--cursor-grab);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.spiral-card-experiment-stage.is-dragging{cursor:var(--cursor-grabbing)}.spiral-card-experiment-stage canvas{width:100%;height:100%;display:block}.works-gallery-3d.is-static{background:var(--bg);min-height:auto;color:var(--ink)}.works-gallery-3d.is-static:before,.works-gallery-3d.is-static:after,.works-gallery-3d.is-static .works-gallery-3d-tabs,.works-gallery-3d.is-static .works-gallery-3d-stage canvas{display:none}.works-gallery-3d.is-static .works-gallery-3d-stage{cursor:var(--cursor-default);position:relative}.works-gallery-3d.is-static .works-gallery-3d-fallback{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;padding:10px;display:grid}.works-gallery-3d.is-static .works-gallery-3d-fallback figure{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;min-height:180px;display:grid;overflow:hidden}.works-gallery-3d.is-static .works-gallery-3d-fallback figure:empty{display:none}.project-single-list-kicker{border-bottom:1px solid var(--line-strong);background:var(--bg);min-height:44px;color:var(--muted);font-family:var(--font-display);place-items:center;font-size:14px;line-height:1;display:grid}@media (prefers-reduced-motion:reduce){.works-gallery-3d{background:var(--bg);min-height:auto;color:var(--ink)}.works-gallery-3d:before,.works-gallery-3d:after,.works-gallery-3d-tabs,.works-gallery-3d-stage canvas{display:none}.works-gallery-3d-stage{cursor:var(--cursor-default);position:relative}.works-gallery-3d-fallback{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;padding:10px;display:grid}.works-gallery-3d-fallback figure{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;min-height:180px;display:grid;overflow:hidden}}.project-single-horizontal{border-bottom:1px solid var(--line-strong);background:var(--bg);isolation:isolate;position:relative;overflow:hidden}.project-single-gallery-track{will-change:transform;align-items:flex-start;gap:14px;width:max-content;padding:16px 12px 12px;display:flex}.project-single-gallery-item{background:0 0;border-radius:8px;flex:none;place-items:center;min-height:0;display:grid;overflow:hidden}.project-single-gallery-frame{background:var(--surface);border-radius:8px;width:fit-content;max-width:min(84vw,1240px);display:grid;overflow:hidden;box-shadow:0 18px 42px #00000012}.project-single-gallery-item.is-pair .project-single-gallery-frame{max-width:min(82vw,1120px);box-shadow:none;background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-single-gallery-item.is-pair .visual-tile{background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 18px 42px #00000012}.project-single-gallery-item .visual-tile{background:var(--surface);border:0;width:fit-content;height:auto;min-height:0}.project-single-gallery-item .visual-tile.has-image img{object-fit:contain;transform-origin:50%;will-change:transform;width:auto;max-width:min(84vw,1240px);height:auto;max-height:calc(100svh - 24px);display:block}.project-single-gallery-item.is-pair .visual-tile.has-image img{width:min(39vw,540px);max-width:100%;max-height:calc(100svh - 36px)}.project-single-details{--project-single-back-row:30px;border-bottom:1px solid var(--line-strong);background:var(--bg);align-items:start;gap:0;display:grid}.project-single-details-main{gap:20px;max-width:none;padding:0;display:grid}.project-single-detail-grid{grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:42px;display:grid}.project-single-detail-grid.is-compact{grid-template-columns:minmax(220px,.42fr)}.project-single-facts{font-family:var(--font-display);flex-wrap:wrap;place-content:center;align-items:center;gap:24px;margin:0;padding-left:24px;padding-right:24px;display:flex;position:relative}.project-single-facts:before{top:calc(var(--project-single-back-row) * -1);background:var(--line-strong);content:"";width:1px;position:absolute;bottom:0;left:-1px}.project-single-facts div{text-align:center;border-bottom:0;justify-items:center;gap:6px;min-width:74px;padding-bottom:0;display:grid}.project-single-facts dt{color:var(--body-muted);text-transform:uppercase;font-size:12px;font-weight:500;line-height:1}.project-single-facts dd{color:var(--heading-ink);font-family:var(--font-display);margin:0;font-size:16px;font-weight:400;line-height:1.18}.project-single-story{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.project-single-story section{align-content:start;gap:12px;display:grid}.project-single-story h2,.project-single-story p{margin:0}.project-single-story h2{color:var(--heading-ink);font-family:var(--font-display);font-size:24px;font-weight:500;line-height:1.1}.project-single-story p{color:var(--body-muted);font-size:15px;font-weight:200;line-height:1.55}@media (min-width:901px){.project-page .site-footer{border-top:1px solid var(--line-strong);min-height:104px;margin-top:42px;position:relative}.project-page .site-footer:before{content:"";background:var(--line);pointer-events:none;height:1px;position:absolute;bottom:calc(100% + 20px);left:0;right:0}}.project-facts{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0;padding:18px 0;display:grid}.project-facts div{gap:8px;display:grid}.project-facts dd{margin:0}.gallery-grid{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.gallery-grid .visual-tile:first-child{grid-row:span 2;min-height:456px}.story-stack{grid-template-columns:repeat(3,1fr);gap:24px;margin:56px 0;display:grid}.project-footer{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:24px;padding-top:24px;display:flex}.next-link{text-align:right;display:grid}.next-link span{color:var(--muted);text-transform:uppercase;font-size:12px}.about-layout{grid-template-columns:1fr .9fr;gap:44px;display:grid}.about-layout .page-heading{grid-column:1/-1}.principles{align-content:start;gap:12px;display:grid}
.about-experience{padding:76px 0 80px;display:grid}.about-node-hero{border:1px solid var(--line);background:radial-gradient(circle, var(--dot) 0 .7px, transparent .8px), var(--bg);background-size:8px 8px,auto;grid-template-rows:auto minmax(620px,1fr);min-height:calc(100vh - 84px);display:grid;position:relative;overflow:hidden}.about-node-copy{z-index:2;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);grid-template-columns:minmax(320px,.85fr) minmax(260px,.7fr);align-content:end;gap:24px 56px;padding:96px 34px 42px;display:grid;position:relative}.about-node-kicker{color:var(--body-muted);grid-column:1/-1;margin:0;font-size:13px;font-weight:600;line-height:1}.about-node-copy h1{max-width:760px;color:var(--heading-ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(30px,3.1vw,36px);font-weight:500;line-height:1.04}.about-node-copy>p:not(.about-node-kicker){max-width:500px;color:var(--body-muted);align-self:end;margin:0;font-size:16px;font-weight:200;line-height:26px}.about-node-intro{max-width:500px;color:var(--body-muted);letter-spacing:.01em;align-self:end;margin:0;font-size:20px;font-weight:350;line-height:28px}.vertical-cut-words,.vertical-cut-word-line{display:block}.vertical-cut-word{vertical-align:bottom;margin-right:.22em;display:inline-block;overflow:hidden}.vertical-cut-word>span{opacity:0;filter:blur(5px);transform-origin:0 100%;animation:.82s cubic-bezier(.19,1,.22,1) forwards verticalCutWordReveal;animation-delay:var(--word-delay);will-change:opacity, filter, transform;animation-play-state:paused;display:inline-block;transform:translateY(112%)skewY(4deg)}.vertical-cut-block{display:block}.vertical-cut-block>span{display:block;overflow:hidden}.vertical-cut-block>span>span{opacity:0;filter:blur(5px);animation:.92s cubic-bezier(.19,1,.22,1) forwards verticalCutBlockReveal;animation-delay:var(--block-delay);will-change:opacity, filter, transform;animation-play-state:paused;display:block;transform:translateY(104%)}html.is-loader-finished .about-node-copy .vertical-cut-word>span,html.is-loader-finished .about-node-copy .vertical-cut-block>span>span,html.is-route-entering .about-node-copy .vertical-cut-word>span,html.is-route-entering .about-node-copy .vertical-cut-block>span>span{animation-play-state:running}@keyframes verticalCutWordReveal{0%{opacity:0;filter:blur(5px);transform:translateY(112%)skewY(4deg)}58%{opacity:1;filter:blur(1.5px)}to{opacity:1;filter:blur();transform:translateY(0)skewY(0)}}@keyframes verticalCutBlockReveal{0%{opacity:0;filter:blur(5px);transform:translateY(104%)}62%{opacity:1;filter:blur(1.5px)}to{opacity:1;filter:blur();transform:translateY(0)}}.about-node-canvas{border-bottom:1px solid var(--line);--about-flow-dot:#22222213;height:min(68vh,680px);min-height:600px;position:relative;overflow:hidden}.about-flow{font-family:var(--font-text);position:absolute;inset:0}.about-flow .react-flow__renderer{z-index:2}.about-flow .react-flow__pane{cursor:var(--cursor-grab)}.about-flow .react-flow__pane:active{cursor:var(--cursor-grabbing)}.about-flow .react-flow__node{box-shadow:none;background:0 0;border:0;overflow:visible}.about-flow .react-flow__node:focus,.about-flow .react-flow__node:focus-visible,.about-flow .react-flow__node.selected,.about-flow .react-flow__node.selected:focus,.about-flow .react-flow__node.selected:focus-visible{box-shadow:none;outline:0}.about-flow .react-flow__nodesselection,.about-flow .react-flow__selection,.about-flow .react-flow__selectionpane{background:0 0!important;border:0!important}.about-flow-edge-base,.about-flow-edge-tracer{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}.about-flow-edge-base{stroke:color-mix(in srgb, var(--line-strong) 64%, var(--heading-ink));stroke-width:1.08px;opacity:.52}.about-flow-edge-base.is-secondary{stroke-dasharray:4 7;opacity:.52}.about-flow-edge-base.is-main{opacity:.7}.about-flow-edge-tracer{stroke-width:1.7px;stroke-dasharray:10 184;stroke-dashoffset:0;opacity:.86;filter:drop-shadow(0 0 5px rgb(var(--shine) / .2));animation:3.4s cubic-bezier(.55,0,.2,1) infinite aboutEdgeTrace}.about-flow-edge-tracer.is-secondary{stroke-width:1.42px;opacity:.68;animation-duration:3.4s}.about-flow .react-flow__edge.is-highlighted .about-flow-edge-base{stroke:color-mix(in srgb, var(--blue) 66%, var(--heading-ink));stroke-width:1.3px;opacity:1}.about-flow .react-flow__edge.is-highlighted .about-flow-edge-tracer{stroke-width:1.88px;opacity:1}.about-flow .react-flow__edge.is-dimmed .about-flow-edge-base,.about-flow .react-flow__edge.is-dimmed .about-flow-edge-tracer{opacity:.16}@keyframes aboutEdgeTrace{0%{stroke-dasharray:7 187;stroke-dashoffset:0;opacity:.18}26%{stroke-dasharray:42 152;opacity:.92}58%{stroke-dasharray:26 168;opacity:.7}to{stroke-dasharray:7 187;stroke-dashoffset:-194px;opacity:.18}}@media (prefers-reduced-motion:reduce){.about-flow-edge-tracer{opacity:.2;animation:none}}.about-flow .react-flow__handle{pointer-events:none}.about-flow-node{border:1px solid color-mix(in srgb, var(--line) 74%, var(--line-strong));background:color-mix(in srgb, var(--bg) 94%, var(--surface));width:100%;height:100%;color:var(--ink);border-radius:8px;font-weight:100;transition:opacity .18s,filter .18s;display:grid;position:relative;overflow:visible;box-shadow:0 8px 18px #00000008}.about-flow-node.is-active{filter:drop-shadow(0 10px 18px #00000012)}.about-flow-node.is-dimmed{opacity:.34}.about-flow-handle{border:1px solid color-mix(in srgb, var(--line-strong) 28%, var(--heading-ink))!important;background:var(--bg)!important;opacity:1!important;border-radius:999px!important;width:10px!important;height:10px!important}.about-flow-skill .about-flow-handle{width:8px!important;height:8px!important}.about-flow-tech-label{font-family:var(--font-text)}.about-flow-card-head{font-family:var(--font-display)}.about-flow-tech-label,.about-flow-card-head>span{letter-spacing:.01em}.about-flow-node-tag{border:1px solid var(--line-strong);min-height:24px;color:var(--heading-ink);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:100;line-height:1;display:inline-flex}.about-flow-tech-label{color:var(--body-muted);font-size:11px;font-weight:200;line-height:1}.about-flow-request .about-flow-tech-label{font-family:Comic Sans MS,Comic Sans,cursive;font-weight:400}.about-flow-request{border-radius:14px;gap:0;padding:0;overflow:visible}.about-flow-request-top{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--surface) 56%, var(--bg));border-radius:13px 13px 0 0;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:0 14px;display:flex}.about-flow-request-top strong{color:var(--heading-ink);font-family:Comic Sans MS,Comic Sans,cursive;font-size:18px;font-weight:400;line-height:1}.about-flow-request-files{gap:0;min-height:0;display:grid}.about-flow-request-file{border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 36%, var(--bg));border-radius:0;gap:9px;padding:12px 18px 14px;display:grid}.about-flow-request-file:last-child{background:color-mix(in srgb, var(--surface) 36%, var(--bg));border-bottom:0;border-radius:0 0 13px 13px}.about-flow-request-file span{color:var(--body-muted);font-size:11px;font-weight:100;line-height:1}.about-flow-request-file strong{color:var(--heading-ink);font-family:Comic Sans MS,Comic Sans,cursive;font-size:15px;font-weight:100;line-height:20px}.about-flow-card-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 38%, var(--bg));justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:0 12px;display:flex}.about-flow-card-head strong{color:var(--heading-ink);font-size:15px;font-weight:400;line-height:1}.about-flow-card-head>span{color:var(--body-muted);font-size:11px;font-weight:400;line-height:1}.about-flow-card-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;padding:8px;display:grid}.about-flow-card-row span{background:color-mix(in srgb, var(--surface) 48%, var(--bg));min-height:23px;color:var(--body-muted);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:100;line-height:1;display:inline-flex}.about-flow-card-body{color:var(--body-muted);padding:9px 12px 12px;font-size:14px;font-weight:100;line-height:20px;display:block}.about-flow-card.is-work .about-flow-card-head strong{color:color-mix(in srgb, var(--green) 58%, var(--heading-ink))}.about-flow-card.is-thought .about-flow-card-head strong{color:color-mix(in srgb, var(--yellow) 54%, var(--heading-ink))}.about-flow-reference{grid-template-rows:auto minmax(0,1fr) auto}.about-flow-reference-links{border-bottom:1px solid var(--line);flex-wrap:wrap;align-content:center;gap:7px 6px;padding:7px 12px 8px;display:flex}.about-flow-reference-links span{border:1px solid color-mix(in srgb, var(--line) 76%, var(--line-strong));background:color-mix(in srgb, var(--surface) 48%, var(--bg));min-height:24px;color:var(--body-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:100;line-height:1;display:inline-flex}.about-flow-self-main{min-height:0;display:grid}.about-flow-photo,.about-flow-object-placeholder{background:linear-gradient(135deg, transparent 0 46%, color-mix(in srgb, var(--line) 76%, transparent) 46% 54%, transparent 54% 100%), color-mix(in srgb, var(--surface) 74%, var(--line))}.about-flow-photo{border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;place-items:center;min-height:116px;display:grid}.about-flow-photo img{opacity:.88;width:40px;height:40px;display:block}[data-theme=dark] .about-flow-photo img{filter:invert()brightness(1.1)}.about-flow-floating-head{order:2}.about-flow-self .about-flow-photo{order:1}.about-flow-self-main{order:3}.about-flow-output{grid-template-rows:minmax(0,1fr) auto auto;overflow:visible}.about-flow-object-placeholder{border-bottom:1px solid var(--line);background:linear-gradient(135deg, transparent 0 47%, color-mix(in srgb, var(--line) 72%, transparent) 47% 53%, transparent 53% 100%), color-mix(in srgb, var(--surface) 72%, var(--line));border-radius:7px 7px 0 0;width:100%;min-height:0;display:block}.about-flow-node-label,.about-flow-chip-label{border:1px solid var(--line-strong);background:var(--bg);min-height:24px;color:var(--body-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:100;line-height:1;display:inline-flex}.about-flow-chip{border-radius:999px;place-items:center}.about-flow-chip-label{width:100%;min-height:100%;color:var(--heading-ink);font-size:13px;font-weight:100}.about-flow-skill{background:color-mix(in srgb, var(--bg) 88%, var(--surface));border-radius:999px;place-items:center;width:58px;height:58px}.about-flow-skill-logo{width:100%;height:100%;color:var(--heading-ink);place-items:center;font-size:15px;font-weight:100;line-height:1;display:grid}.about-flow-skill-logo img{object-fit:contain;width:24px;height:24px;display:block}.about-flow-skill-label{color:var(--body-muted);opacity:.78;white-space:nowrap;font-size:10px;font-weight:200;line-height:1;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.about-node-toolbar{z-index:6;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, var(--surface));border-radius:8px;display:inline-flex;position:absolute;top:18px;right:18px;overflow:hidden;box-shadow:0 8px 20px #0000000b}.about-node-toolbar span{border-right:1px solid var(--line);min-height:28px;color:var(--body-muted);align-items:center;padding:0 10px;font-size:11px;font-weight:300;line-height:1;display:inline-flex}.about-node-toolbar span:first-child{color:var(--heading-ink);font-weight:500}.about-node-toolbar span:last-child{border-right:0}.about-node-lines{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.about-node-lines path{fill:none;stroke:color-mix(in srgb, var(--line-strong) 78%, var(--blue));stroke-linecap:round;stroke-width:.3px;opacity:.68;vector-effect:non-scaling-stroke;transition:opacity .18s,stroke .18s,stroke-width .18s}.about-node-lines path.is-highlighted{stroke:color-mix(in srgb, var(--blue) 70%, var(--heading-ink));stroke-width:.48px;opacity:1}.about-node-lines path.is-dimmed{opacity:.12}.about-map-node{z-index:2;color:var(--ink);cursor:var(--cursor-grab);text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;transition:opacity .18s,filter .18s,transform .18s;position:absolute}.about-map-node:focus-visible{outline:1px solid color-mix(in srgb, var(--heading-ink) 34%, transparent);outline-offset:4px}.about-map-node:not(.is-dimmed):hover{filter:drop-shadow(0 10px 18px #00000014)}.about-map-node.is-dragging{z-index:8;cursor:var(--cursor-grabbing);filter:drop-shadow(0 12px 22px #0000001f)}.about-map-node.is-dimmed{opacity:.32}.about-map-card,.about-map-self{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg) 90%, var(--surface));border-radius:8px;height:100%;display:grid;overflow:visible;box-shadow:0 10px 22px #0000000a}.about-map-self{border-color:var(--line-strong)}.about-map-port{z-index:3;border:1px solid color-mix(in srgb, var(--line-strong) 60%, var(--heading-ink));background:var(--bg);pointer-events:none;border-radius:999px;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.about-map-port.is-left{left:-4px}.about-map-port.is-right{right:-4px}.about-map-card-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, var(--bg));justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:0 12px;display:flex}.about-map-card-head strong{color:var(--heading-ink);font-size:13.5px;font-weight:600;line-height:1}.about-map-card-head>span{color:var(--body-muted);font-size:11px;line-height:1}.about-map-self-main{border-radius:8px 8px 0 0;grid-template-columns:72px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.about-map-self-photo{border-right:1px solid var(--line);background:linear-gradient(135deg, transparent 0 46%, color-mix(in srgb, var(--line) 76%, transparent) 46% 54%, transparent 54% 100%), color-mix(in srgb, var(--surface) 74%, var(--line));min-height:100%}.about-map-self-copy{display:grid}.about-map-self-copy .about-map-card-head{border-radius:0}.about-map-card-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;padding:8px;display:grid}.about-map-card-row span{background:color-mix(in srgb, var(--surface) 72%, var(--bg));min-height:24px;color:var(--body-muted);border:0;border-radius:999px;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.about-map-card-body{color:var(--body-muted);padding:10px 12px 12px;font-size:12px;font-weight:200;line-height:17px;display:block}.about-map-card.is-work .about-map-card-head strong{color:color-mix(in srgb, var(--green) 58%, var(--heading-ink))}.about-map-card.is-thought .about-map-card-head strong{color:color-mix(in srgb, var(--yellow) 54%, var(--heading-ink))}.about-map-photo{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 90%, var(--surface));border-radius:7px;grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid;overflow:visible;box-shadow:0 8px 18px #0000000b}.about-map-placeholder{background:linear-gradient(135deg, transparent 0 47%, color-mix(in srgb, var(--line) 72%, transparent) 47% 53%, transparent 53% 100%), color-mix(in srgb, var(--surface) 72%, var(--line));border-radius:7px 7px 0 0;width:100%;height:100%;min-height:0;display:block}.about-map-node-label{border-top:1px solid var(--line);color:var(--body-muted);padding:8px 10px;font-size:11px;line-height:1;display:block}.about-map-object{grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:7px;height:100%;display:grid}.about-map-object .about-map-placeholder{aspect-ratio:.72;border:1px solid var(--line);filter:drop-shadow(0 5px 9px #00000014);border-radius:7px;align-self:end;width:100%;max-width:96px;height:auto}.about-map-object .about-map-node-label{border:1px solid var(--line);background:var(--bg);min-height:24px;color:var(--body-muted);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;line-height:1;display:inline-flex}.about-map-chip{border:1px solid var(--line-strong);background:var(--bg);color:var(--heading-ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:500;line-height:1;display:inline-flex;min-height:34px!important}.about-personal-section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);grid-template-columns:minmax(120px,.22fr) minmax(0,1fr);align-items:start;gap:24px;min-height:390px;padding:46px 56px 50px 28px;display:grid}.about-personal-kicker{color:var(--body-muted);margin:0;font-size:13px;font-weight:600;line-height:1}.about-personal-statement{gap:34px;max-width:1040px;display:grid}.about-personal-statement p{color:var(--heading-ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:32px;font-weight:400;line-height:40px}.about-personal-lead{border-bottom:1px solid var(--line);max-width:980px;padding-bottom:30px;display:block}.about-personal-lead-title,.about-personal-lead-copy{display:inline}.about-personal-lead-title{color:var(--heading-ink);font-weight:400}.about-personal-lead-copy{color:rgb(var(--hero-muted-end) var(--hero-muted-end) var(--hero-muted-end))}.about-personal-support{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);align-items:start;gap:42px;display:grid}.about-personal-support p{color:var(--body-muted);letter-spacing:.01em;font-size:20px;font-weight:350;line-height:28px}.about-personal-lead .hero-word{margin-right:.2em}.about-personal-lead-title .hero-word{font-weight:400}.about-personal-lead-copy .hero-word{color:rgb(var(--hero-muted-end) var(--hero-muted-end) var(--hero-muted-end));font-weight:400}.about-posts-section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--bg);display:grid}.about-posts-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 18px;min-height:96px;padding:22px 28px 20px;display:grid}.about-posts-head>h2{color:var(--heading-ink);font-family:var(--font-display);margin:0;font-size:32px;font-weight:500;line-height:1}.about-posts-label{color:var(--body-muted);grid-column:1/-1;font-size:13px;line-height:1}.about-posts-head-link{justify-self:end}.about-post-list{padding-bottom:64px;display:grid}.about-post-row{border-bottom:1px solid var(--line);color:inherit;grid-template-columns:minmax(128px,.28fr) minmax(360px,1.08fr) minmax(280px,.86fr) auto;align-items:center;gap:24px;padding:24px 28px;text-decoration:none;transition:background .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),padding .22s cubic-bezier(.16,1,.3,1);display:grid}.about-post-row:last-child{border-bottom:0}.about-post-row:hover{background:color-mix(in srgb, var(--surface) 42%, var(--bg));padding-left:32px;padding-right:24px}.about-post-row.is-unavailable{cursor:var(--cursor-help)}.about-post-row .solar-icon{color:var(--body-muted);transition:color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.about-post-row:hover .solar-icon{color:var(--heading-ink);transform:translate(3px)}.about-post-row h3,.about-post-row p,.about-post-label{transition:border-color .22s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.about-post-row:hover h3{transform:translate(2px)}.about-post-row:hover p{color:color-mix(in srgb, var(--heading-ink) 32%, var(--body-muted))}.about-post-row:hover .about-post-label{border-color:var(--line-strong);color:var(--heading-ink)}.about-post-label{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 72%, var(--surface));width:fit-content;min-height:26px;color:var(--body-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:300;line-height:1;display:inline-flex}.about-post-row h3{color:var(--heading-ink);font-family:var(--font-display);margin:0;font-size:24px;font-weight:500;line-height:32px}.about-post-row p{max-width:54ch;color:var(--body-muted);margin:0;font-size:14px;font-weight:200;line-height:22px}
