@font-face{font-family:satoshi;src:url(../media/Satoshi_Medium-s.p.2gbh8zsgu5xby.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:satoshi;src:url(../media/Satoshi_Bold-s.p.19z5sx2nusz2v.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:satoshi Fallback;src:local(Arial);ascent-override:99.15%;descent-override:23.56%;line-gap-override:9.82%;size-adjust:101.86%}.jvm9Ka_className{font-family:satoshi,satoshi Fallback}.jvm9Ka_variable{--font-satoshi:"satoshi", "satoshi Fallback"}
:root{--paper:#f1f0ec;--ink:#111;--ink-2:#1111119e;--ink-3:#1111116b;--gutter:22px;--pill-w:48px}@media (min-width:900px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-satoshi), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}#header-mark:focus-visible{outline-color:var(--backdrop-ink,var(--ink));outline-offset:-8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill{right:var(--gutter);z-index:4;background:var(--ink);min-height:48px;color:var(--paper);transform:translate(calc(var(--pill-y,0) * (50% - 50vw + var(--gutter))), calc(var(--pill-y,0) * (-50vh + 52px))) scale(var(--pill-scale,1)) scale(var(--pill-sx,1), var(--pill-sy,1));transform-origin:50%;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;bottom:28px;box-shadow:0 8px 24px #00000029}.pill-icon{flex:none}@media (max-width:899px){.pill{width:var(--pill-w);padding:0}.pill-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.alternative{left:var(--gutter);right:var(--gutter);z-index:3;white-space:nowrap;color:var(--ink);text-underline-offset:3px;opacity:0;pointer-events:none;justify-content:space-between;margin:0;font-size:15px;text-decoration:underline;text-decoration-thickness:1px;display:flex;position:fixed;bottom:30px}.alternative a{min-height:44px;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;pointer-events:var(--hit,auto);align-items:center;display:inline-flex}.alternative a:focus-visible{outline-color:var(--backdrop-ink,var(--ink))}html[data-ink-split] #contact-heading,html[data-ink-split] .alternative{color:#0000}html[data-ink-split] #header-mark img,[data-page],[data-pages]{opacity:0}:is([data-page]:has(a,button),[data-pages]:has(a,button),.alternative){visibility:hidden}@media (prefers-reduced-motion:reduce){[data-page],[data-pages],.alternative{transition:opacity .3s}}.hint{z-index:2;pointer-events:none;position:fixed;inset:0}.hint svg{fill:var(--ink);position:absolute;overflow:visible}.hint-drop{left:50%;transform:translate(-50%)}.hint-dots{top:50%;right:calc(var(--gutter) / 2 - 5px);opacity:.5;transform:translateY(-50%)}.hint-dots circle{fill-opacity:.45}.hint svg.hint-dots{fill:var(--backdrop-ink,var(--ink));transition:fill .2s}html[data-stacked=on] .hint{display:none}.intro-canvas{cursor:grab}.intro-canvas.grabbing{cursor:grabbing}body>header{z-index:3;position:relative}main,body>header{transition:opacity .6s}html[data-chat=open] main,html[data-chat=open] body>header,html[data-archive=open] main,html[data-archive=open] body>header{opacity:0}html[data-chat] .pill,html[data-archive] .pill{visibility:hidden}html:has(#archive[data-open]) .pill{visibility:hidden}@media (prefers-reduced-motion:reduce){main,body>header{transition-duration:.3s}}html[data-archive=closing] main,html[data-archive=closing] body>header{transition-duration:.25s}main[data-lost] [data-page],main[data-lost] [data-pages]{display:none}.menu>summary{top:16px;right:calc(var(--gutter) - 15.23px);z-index:2;cursor:pointer;width:48px;height:48px;color:var(--backdrop-ink,var(--ink));-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;list-style:none;display:grid;position:fixed}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{color:var(--ink)}.menu>summary:focus-visible{outline-color:var(--backdrop-ink,var(--ink));outline-offset:-2px}.menu[open]>summary:focus-visible{outline-color:var(--ink)}.menu-glyph{display:block;overflow:visible}.menu-glyph g{transform-origin:8.77px 8.77px}.menu-x{opacity:0;transform:rotate(45deg)scale(1.41421)}.menu-gel{z-index:0;pointer-events:none;position:fixed}.menu-bubble{top:80px;right:calc(var(--gutter) - 15.23px);z-index:1;background:var(--paper);border-radius:22px;position:fixed;box-shadow:0 8px 24px #00000029}.menu-bubble ul{margin:0;padding:0;list-style:none}.menu-bubble a{letter-spacing:-.012em;min-height:44px;color:var(--ink);white-space:nowrap;border-radius:22px;justify-content:flex-end;align-items:center;padding:0 15.23px;font-size:19px;font-weight:500;text-decoration:none;display:flex;position:relative}.menu-bubble a:before{content:"";position:absolute;inset:0}.menu-bubble a:focus-visible{outline-offset:-4px}html[data-menu=closing] .menu-bubble{pointer-events:none}html[data-section=home] .menu li[data-section=home],html[data-section=about] .menu li[data-section=about],html[data-section=works] .menu li[data-section=works],html[data-section=services] .menu li[data-section=services],html[data-section=contact] .menu li[data-section=contact]{display:none}@media (max-height:480px){.menu li[data-section=home]{display:none}}body>header:has(.menu[open]){z-index:5}html[data-menu-gel] .menu-bubble{box-shadow:none;background:0 0}html:not([data-menu-gel]) .menu>summary{transition:background-color .15s,box-shadow .15s}html:not([data-menu-gel]) .menu[open]:not(.menu-out)>summary{background-color:var(--paper);box-shadow:0 8px 24px #00000029}html:not([data-menu-gel]) .menu-glyph g{transition:opacity .15s}html:not([data-menu-gel]) .menu[open]:not(.menu-out) .menu-plus{opacity:0}html:not([data-menu-gel]) .menu[open]:not(.menu-out) .menu-x{opacity:1}html:not([data-menu-gel]) .menu-bubble{animation:.15s ease-out menu-in}html:not([data-menu-gel]) .menu.menu-out .menu-bubble{animation:.12s ease-in forwards menu-out}@keyframes menu-in{0%{opacity:0}}@keyframes menu-out{to{opacity:0}}html:has(main[data-lost]) .menu{visibility:hidden}
