@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.104iauyxhaf24.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0b9excvam7id0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.0fmzj955937qe.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_a48a7f2d-module__1ESPJq__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_a48a7f2d-module__1ESPJq__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_8d99e028-module__HL9Mnq__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_8d99e028-module__HL9Mnq__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_ac5c1a6c-module__OhyRHG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ac5c1a6c-module__OhyRHG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
.folio{--f-bg:#0a0a0a;--f-bg-soft:#101010;--f-ink:#edede6;--f-ink-dim:#8d8d85;--f-ink-faint-txt:#5c5c55;--f-serif-muted:#b9b9b0;--f-body:#cfcfc6;--f-acid:#d6ff3f;--f-acid-ink:#0d1200;--f-acid-bright:#b9e34a;--f-acid-well:#0d1200;--f-ink-faint:#edede614;--f-display:var(--font-archivo), "Archivo", sans-serif;--f-serif:var(--font-instrument), "Instrument Serif", serif;--f-mono:var(--font-jetbrains), "JetBrains Mono", monospace;background:var(--f-bg);color:var(--f-ink);font-family:var(--f-display);font-variation-settings:"wdth" 100;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100svh;position:relative;overflow-x:clip}.folio ::selection{background:var(--f-acid);color:var(--f-acid-ink)}.folio :focus-visible{outline:1.5px solid var(--f-acid);outline-offset:3px;border-radius:2px}.folio a{color:inherit;text-decoration:none}.folio-grain{pointer-events:none;z-index:80;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:.9s steps(2,end) infinite folio-grain-shift;position:fixed;inset:-50%}.folio-rails{pointer-events:none;z-index:1;background:linear-gradient(to right, var(--f-ink-faint) 1px, transparent 1px) left 1.25rem top / 1px 100% no-repeat, linear-gradient(to right, var(--f-ink-faint) 1px, transparent 1px) right 1.25rem top / 1px 100% no-repeat;position:fixed;inset:0}@media (min-width:768px){.folio-rails{background:linear-gradient(to right, var(--f-ink-faint) 1px, transparent 1px) left 3rem top / 1px 100% no-repeat, linear-gradient(to right, var(--f-ink-faint) 1px, transparent 1px) right 3rem top / 1px 100% no-repeat}}@keyframes folio-grain-shift{0%{transform:translate(0,0)}50%{transform:translate(2%,-1%)}to{transform:translate(-1%,2%)}}@keyframes folio-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes folio-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes folio-dash{to{stroke-dashoffset:-24px}}@keyframes folio-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes folio-scrollcue{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes blog-fadeup{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes proj-fadeup{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.folio-shell{padding-inline:clamp(1.5rem,4vw,3rem)}.folio-mono{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.6875rem}.folio-serif-em{font-family:var(--f-serif);letter-spacing:0;text-transform:none;font-style:italic;font-weight:400}.folio-hairline{border-top:1px solid var(--f-ink-faint)}.folio-display{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.015em;font-weight:800;line-height:.92}.folio-acid{color:var(--f-acid)}.folio-outline{color:#0000;-webkit-text-stroke:1.5px var(--f-ink)}.folio-dot{background:var(--f-acid);border-radius:999px;width:7px;height:7px;animation:2.4s ease-in-out infinite folio-pulse;display:inline-block;box-shadow:0 0 12px #d6ff3fcc}.folio-header{z-index:90;mix-blend-mode:difference;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.1rem;display:flex;position:fixed;top:0;left:0;right:0}.folio-nav-link{color:var(--f-ink);opacity:.72;padding-block:.2rem;transition:opacity .25s;position:relative}.folio-nav-link:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .4s cubic-bezier(.65,0,.35,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (hover:hover){.folio-nav-link:hover{opacity:1}.folio-nav-link:hover:after{transform-origin:0;transform:scaleX(1)}}.folio-btn{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--f-ink);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #edede647;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 1.4rem;font-size:.6875rem;transition:border-color .3s,background-color .3s,color .3s;display:inline-flex}.folio .folio-btn--solid{background:var(--f-ink);border-color:var(--f-ink);color:var(--f-bg)}@media (hover:hover){.folio .folio-btn:hover{border-color:var(--f-acid);background:var(--f-acid);color:var(--f-acid-ink)}.folio .folio-btn--solid:hover{background:var(--f-acid);border-color:var(--f-acid);color:var(--f-acid-ink)}}.folio-marquee{-webkit-user-select:none;user-select:none;display:flex;overflow:clip}.folio-marquee-track{flex-shrink:0;align-items:center;min-width:100%;animation:28s linear infinite folio-marquee;display:flex}@media (hover:hover){.folio-marquee:hover .folio-marquee-track{animation-play-state:paused}}.folio-chip{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--f-ink-dim);background:var(--f-bg-soft);border:1px solid #edede629;border-radius:999px;align-items:center;gap:.55rem;padding:.6rem 1.05rem;font-size:.72rem;transition:color .25s,border-color .25s;display:inline-flex}@media (hover:hover){.folio-chip:hover{color:var(--f-ink);border-color:#edede666}}.folio-tag{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f-ink-dim);white-space:nowrap;border:1px solid #edede62e;border-radius:999px;padding:.32rem .7rem;font-size:.625rem}.folio-badge{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--f-acid);white-space:nowrap;align-items:center;gap:.5rem;font-size:.625rem;display:inline-flex}.folio-badge:before{content:"";background:var(--f-acid);border-radius:999px;flex-shrink:0;width:5px;height:5px}.folio-track{will-change:transform;gap:1.1rem;display:flex}.folio-slide{border:1px solid var(--f-ink-faint);background:var(--f-bg-soft);flex-shrink:0;width:min(620px,86vw);position:relative;overflow:clip}@media (max-width:767px){.folio-slide{width:100%}}.folio-slide-canvas{width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1);display:block}@media (hover:hover){.folio-slide:hover .folio-slide-canvas{transform:scale(1.04)}}.folio-row{border-top:1px solid var(--f-ink-faint);isolation:isolate;align-items:baseline;padding-block:1.15rem;display:grid;position:relative;overflow:clip}.folio-row-dim{color:var(--f-ink-dim)}@media (hover:hover){.folio-row:before{content:"";background:var(--f-acid);transform-origin:100%;z-index:-1;transition:transform .4s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.folio-row:hover:before{transform-origin:0;transform:scaleX(1)}.folio-row:hover,.folio-row:hover .folio-row-dim{color:var(--f-acid-ink)}.folio-row,.folio-row .folio-row-dim{transition:color .25s}}.folio-service-card{border:1px solid var(--f-ink-faint);background:var(--f-bg-soft);flex-direction:column;gap:1.1rem;padding:1.8rem 1.6rem;transition:border-color .35s,transform .35s;display:flex;position:relative}@media (hover:hover){.folio-service-card:hover{border-color:#d6ff3f8c;transform:translateY(-3px)}}.folio-cursor{z-index:100;pointer-events:none;background:var(--f-acid);mix-blend-mode:difference;opacity:0;border-radius:999px;width:10px;height:10px;margin:-5px 0 0 -5px;position:fixed;top:0;left:0}.folio-cursor-ring{z-index:100;pointer-events:none;opacity:0;border:1px solid #d6ff3f8c;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;display:flex;position:fixed;top:0;left:0}.folio-cursor-label{font-family:var(--f-mono);letter-spacing:.12em;color:var(--f-acid);opacity:0;font-size:8px}@media (pointer:coarse){.folio-cursor,.folio-cursor-ring{display:none}}.folio-email-link{display:inline-block;position:relative}.folio-email-link:after{content:"";background:var(--f-acid);transform-origin:100%;width:100%;height:.045em;transition:transform .6s cubic-bezier(.65,0,.35,1);position:absolute;bottom:.02em;left:0;transform:scaleX(0)}@media (hover:hover){.folio-email-link:hover:after{transform-origin:0;transform:scaleX(1)}.folio .folio-email-link:hover{color:var(--f-acid)}}@media (prefers-reduced-motion:reduce){.folio-grain,.folio-dot,.folio-marquee-track{animation:none}.folio-cursor,.folio-cursor-ring{display:none}}
