@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.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:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_c1ef21b-module__npjgFq__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_c1ef21b-module__npjgFq__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_1ec0685a-module__ODW2ua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_1ec0685a-module__ODW2ua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.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.3hlisc-pwq13z.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.0-oo9_1x_xmvg.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.36fqqi66-3tjb.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.3_z45zcoc-xoz.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.1bkzbscqrt8rl.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.1kd-r_s9smv5m.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.3hlisc-pwq13z.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.0-oo9_1x_xmvg.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.36fqqi66-3tjb.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.3_z45zcoc-xoz.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.1bkzbscqrt8rl.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_9ccab311-module__bf8DeW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_9ccab311-module__bf8DeW__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink:#0a0a0a;--ink-2:#1a1a1a;--paper:#fff;--paper-2:#fafaf8;--paper-3:#f2f1ed;--stone-50:#f5f4f0;--stone-100:#eceae4;--stone-200:#d8d5cc;--stone-300:#b8b4a8;--stone-400:#8e8a7e;--stone-500:#635f55;--stone-600:#3f3c36;--stone-700:#26241f;--grad-1:#8ac8eb;--grad-2:#a5bee1;--grad-3:#beb4d7;--grad-4:#caadd1;--gradient-brand:linear-gradient(90deg, var(--grad-1) 0%, var(--grad-2) 35%, var(--grad-3) 65%, var(--grad-4) 100%);--grad-deep-1:#2a6e9c;--grad-deep-2:#45589c;--grad-deep-3:#6b4fa0;--grad-deep-4:#94407e;--gradient-brand-deep:linear-gradient(90deg, var(--grad-deep-1) 0%, var(--grad-deep-2) 35%, var(--grad-deep-3) 65%, var(--grad-deep-4) 100%);--gradient-brand-soft:linear-gradient(90deg, color-mix(in oklab, var(--grad-1) 60%, white) 0%, color-mix(in oklab, var(--grad-3) 60%, white) 50%, color-mix(in oklab, var(--grad-4) 60%, white) 100%);--gradient-brand-radial:radial-gradient(120% 90% at 0% 50%, var(--grad-1) 0%, var(--grad-2) 30%, var(--grad-3) 60%, var(--grad-4) 100%);--fg-1:var(--ink);--fg-2:var(--stone-600);--fg-3:var(--stone-500);--fg-inverse:var(--paper);--bg-1:var(--paper-2);--bg-2:var(--paper);--bg-3:var(--paper-3);--bg-inverse:var(--ink);--line-1:var(--stone-200);--line-2:var(--stone-300);--line-strong:var(--ink);--font-display:var(--font-montserrat), "Helvetica Neue", Arial, sans-serif;--font-sans:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-32:2rem;--fs-40:2.5rem;--fs-56:3.5rem;--fs-80:5rem;--fs-112:7rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--r-0:0px;--r-1:2px;--r-2:4px;--r-3:8px;--r-pill:999px;--shadow-1:0 1px 0 #0a0a0a0a, 0 1px 2px #0a0a0a0a;--shadow-2:0 1px 0 #0a0a0a0a, 0 4px 12px #0a0a0a0f;--shadow-3:0 2px 4px #0a0a0a0d, 0 12px 32px #0a0a0a14;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.6, .05, .3, 1);--dur-fast:.12s;--dur:.22s;--dur-slow:.48s;--container:1200px;--container-wide:1440px;--gutter:32px}html{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-1)}body{font-size:var(--fs-16);-webkit-font-smoothing:antialiased;line-height:1.55}.display-1,h1.display{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg-1);font-size:clamp(3.5rem,8vw,7rem);font-weight:800;line-height:.92}.display-2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1}h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-56);letter-spacing:-.02em;color:var(--fg-1);line-height:1.05}h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-40);letter-spacing:-.015em;color:var(--fg-1);line-height:1.1}h3{font-family:var(--font-display);font-weight:600;font-size:var(--fs-24);letter-spacing:-.005em;color:var(--fg-1);line-height:1.25}h4{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-18);color:var(--fg-1);line-height:1.35}p,.body{font-size:var(--fs-16);color:var(--fg-1);text-wrap:pretty;line-height:1.6}.body-lg{font-size:var(--fs-18);color:var(--fg-1);line-height:1.55}.body-sm{font-size:var(--fs-14);color:var(--fg-2);line-height:1.5}.caption{font-size:var(--fs-12);color:var(--fg-3);letter-spacing:.01em;line-height:1.4}.eyebrow,.label-mono{font-family:var(--font-mono);font-weight:400;font-size:var(--fs-12);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2)}.tagline{font-family:var(--font-sans);font-weight:500;font-size:var(--fs-13);letter-spacing:.32em;text-transform:uppercase;color:var(--fg-2)}code,.mono{font-family:var(--font-mono);color:var(--fg-1);font-size:.92em}.section-counter{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-14);color:var(--fg-3);letter-spacing:.05em}.gradient-text{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.rule{border:0;border-top:1px solid var(--line-1);margin:var(--s-6) 0}.rule-strong{border:0;border-top:1px solid var(--line-strong);margin:var(--s-6) 0}::selection{background:var(--grad-3);color:var(--ink)}
*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}body{background:var(--bg-1);color:var(--fg-1);font-feature-settings:"ss01", "ss02";overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}.skip-link{z-index:200;background:var(--ink);color:var(--paper);font-family:var(--font-sans);border-radius:var(--r-2);transition:top var(--dur-fast) var(--ease-out);padding:12px 20px;font-size:14px;font-weight:600;position:fixed;top:-100px;left:16px}.skip-link:focus-visible{top:16px}img{max-width:100%;display:block}::-webkit-scrollbar{width:0;height:0}@media (hover:hover) and (pointer:fine){body{cursor:none}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;will-change:transform, width, height;mix-blend-mode:difference;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:#fff;border-radius:50%;width:6px;height:6px}.cursor-ring{width:32px;height:32px;transition:width .32s var(--ease-out), height .32s var(--ease-out), opacity .32s var(--ease-out), border-color .32s var(--ease-out);border:1px solid #fff;border-radius:50%}.cursor-ring.hover{width:72px;height:72px}.cursor-ring.text{border-radius:2px;width:4px;height:28px}}.nav{z-index:100;transition:padding var(--dur) var(--ease-out), background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), backdrop-filter var(--dur) var(--ease-out);color:var(--paper);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 32px;display:grid;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(14px)saturate(140%);background:#0a0a0ab3;border-bottom-color:#ffffff14;padding:14px 32px}.nav.light{color:var(--ink)}.nav.light.scrolled{border-bottom-color:var(--line-1);background:#fafaf8c7}.nav-brand{font-family:var(--font-display);letter-spacing:-.02em;cursor:pointer;align-items:center;gap:12px;font-size:18px;font-weight:800;display:inline-flex}.nav-brand .mark{flex-shrink:0;width:26px;height:26px}.nav-links{justify-content:center;gap:4px;display:flex}.nav-links a{letter-spacing:.02em;cursor:pointer;opacity:.7;transition:opacity var(--dur-fast) var(--ease-out);padding:8px 18px;font-size:13px;font-weight:500;position:relative}.nav-links a:before{content:"";transform-origin:0;height:1px;transition:transform var(--dur) var(--ease-out);background:currentColor;position:absolute;inset:auto 18px 4px;transform:scaleX(0)}.nav-links a:hover{opacity:1}.nav-links a:hover:before,.nav-links a.active:before{transform:scaleX(1)}.nav-links a.active{opacity:1}.nav-right{justify-content:flex-end;align-items:center;gap:18px;display:flex}.nav-meta{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.55;align-items:center;gap:8px;font-size:11px;display:inline-flex}.nav-meta .pulse{width:6px;height:6px;animation:pulse 2s var(--ease-in-out) infinite;background:#2dd06b;border-radius:50%;box-shadow:0 0 8px #2dd06b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.nav-cta{color:inherit;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:500}.nav-cta:hover{background:#ffffff1f;border-color:#fff9}.nav.light .nav-cta{border-color:#0a0a0a59}.nav.light .nav-cta:hover{background:#0a0a0a0f;border-color:#0a0a0a99}.nav-brand,.nav-links,.nav-right{z-index:2;position:relative}.nav-burger{cursor:pointer;width:44px;height:44px;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;margin-right:-10px;padding:10px;display:none;position:relative}.nav-burger span{width:22px;height:2px;transition:transform var(--dur) var(--ease-out), opacity var(--dur) var(--ease-out);background:currentColor;display:block}.nav.menu-open .nav-burger span:first-child{transform:translateY(7px)rotate(45deg)}.nav.menu-open .nav-burger span:nth-child(2){opacity:0}.nav.menu-open .nav-burger span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav.menu-open,.nav.menu-open.scrolled{-webkit-backdrop-filter:none;color:var(--paper);background:0 0;border-bottom-color:#0000}.mobile-menu{z-index:1;background:var(--ink);color:var(--paper);animation:menu-in .28s var(--ease-out);flex-direction:column;justify-content:space-between;padding:130px 32px 40px;display:flex;position:fixed;inset:0}.mobile-menu-links{flex-direction:column;display:flex}.mobile-menu-links a{font-family:var(--font-display);letter-spacing:-.02em;color:var(--paper);border-bottom:1px solid #ffffff1a;padding:18px 0;font-size:clamp(1.9rem,7.5vw,3rem);font-weight:700;line-height:1;text-decoration:none}.mobile-menu-links a.active,.mobile-menu-links a:hover{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.mobile-menu-foot{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:11px}@keyframes menu-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.mobile-menu{animation:none}.nav-burger span{transition:none}}.hero{background:var(--ink);min-height:100vh;color:var(--paper);flex-direction:column;justify-content:flex-end;padding:180px 32px 160px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg-img{opacity:0;transition:opacity 1.2s var(--ease-out);filter:brightness(.5)saturate(1.05)contrast(1.05);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.06)}.hero-bg-img.active{opacity:1;animation:14s linear forwards kenburns}@keyframes kenburns{0%{transform:scale(1.06)}to{transform:scale(1)}}.hero-bg:after{content:"";pointer-events:none;background:radial-gradient(80% 60% at 0 100%,#0009 0%,#0000 60%),linear-gradient(#00000059 0%,#0000 25%,#0000008c 100%);position:absolute;inset:0}.hero-grid{pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:96px 96px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000,#0000);mask-image:radial-gradient(80% 80%,#000,#0000)}.hero-tagrow{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;opacity:.7;z-index:3;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:100px;left:32px;right:32px}.hero-tagrow .l{gap:24px;display:flex}.hero-content{z-index:2;width:100%;max-width:1440px;margin:0 auto;position:relative}.hero-title{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2.8rem,9vw,9rem);font-weight:800;line-height:.9}.hero-title .line{display:block;overflow:hidden}.hero-title .line span{animation:rise 1.05s var(--ease-out) forwards;display:inline-block;transform:translateY(110%)}.hero-title .line:first-child span{animation-delay:.15s}.hero-title .line:nth-child(2) span{animation-delay:.3s}.hero-title .line:nth-child(3) span{animation-delay:.45s}.hero-title em{background:var(--gradient-brand);color:#0000;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}@keyframes rise{to{transform:translateY(0)}}.hero-foot{opacity:0;animation:fadeup 1s var(--ease-out) .85s forwards;border-top:1px solid #ffffff2e;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:40px;margin-top:48px;margin-bottom:80px;padding-top:24px;display:grid}.hero-foot .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin-bottom:8px;font-size:11px;display:block}.hero-foot .val{max-width:32ch;font-size:14px;line-height:1.5}.hero-foot strong{font-weight:600}@keyframes fadeup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-foot-cta{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:14px;padding:16px 16px 16px 24px;font-size:11px;display:inline-flex}.hero-foot-cta:hover{background:#ffffff14;border-color:#ffffff73}.hero-foot-cta .arr{background:var(--paper);width:32px;height:32px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.hero-thumbs{z-index:3;align-items:center;gap:10px;display:flex;position:absolute;bottom:40px;left:32px}.hero-thumb{cursor:pointer;filter:brightness(.6)saturate(.9);width:44px;height:56px;transition:filter var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);background:50%/cover;border:0;border-radius:4px;padding:0;position:relative}.hero-thumb:hover{filter:brightness()saturate();transform:translateY(-3px)}.hero-thumb.active{filter:brightness()saturate()}.hero-thumb.active:after{content:"";border:1px solid #ffffffb3;border-radius:6px;position:absolute;inset:-4px}.hero-thumb-num{font-family:var(--font-mono);letter-spacing:.18em;opacity:.8;margin-right:8px;font-size:11px}.marquee{background:var(--ink);color:var(--paper);border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;padding:28px 0;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;gap:56px;width:max-content;animation:42s linear infinite marquee;display:flex}.marquee-group{gap:56px;display:flex}.marquee-item{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:56px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;display:inline-flex}.marquee-item .star{background:var(--gradient-brand);border-radius:50%;flex-shrink:0;width:14px;height:14px}.marquee-item.italic{color:#0000;background:var(--gradient-brand-deep);-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:128px 32px;position:relative}.section.dark{background:var(--ink);color:var(--paper)}.section.stone{background:var(--bg-3)}.container{max-width:1280px;margin:0 auto}.container-wide{max-width:1440px;margin:0 auto}.section-head{grid-template-columns:220px 1fr;align-items:start;gap:56px;padding-bottom:64px;display:grid}.section-head .meta{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;opacity:.8;font-size:11px;position:sticky;top:96px}.section-head .meta .num{opacity:.85;margin-bottom:8px;font-size:13px;display:block}.section-head h1,.section-head h2{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,5.5vw,5rem);font-weight:700;line-height:.96}.section-head h1 em,.section-head h2 em{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.section.dark .section-head h2 em{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text}.section-head .lead{color:var(--fg-2);max-width:60ch;margin-top:24px;font-size:17px;line-height:1.55}.section.dark .section-head .lead{color:#ffffffb3}.work-controls{border-bottom:1px solid var(--line-1);justify-content:space-between;align-items:center;gap:32px;padding-bottom:32px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{border:1px solid var(--line-1);font-family:var(--font-sans);letter-spacing:.02em;color:var(--fg-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:500}.filter-pill:hover{border-color:var(--ink);color:var(--ink)}.filter-pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.view-toggle{border:1px solid var(--line-1);border-radius:999px;gap:0;padding:3px;display:flex}.view-toggle button{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:6px 16px;font-size:11px}.view-toggle button.on{background:var(--ink);color:var(--paper)}.projects-list{margin-top:0}.plist-row{border-bottom:1px solid var(--line-1);cursor:pointer;transition:padding var(--dur) var(--ease-out);grid-template-columns:64px 1.4fr 1fr .9fr .8fr 64px;align-items:center;gap:24px;padding:28px 8px;display:grid;position:relative}.plist-row:hover{padding-left:24px}.plist-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--stone-500);font-size:11px}.plist-title{font-family:var(--font-display);letter-spacing:-.015em;transition:color var(--dur) var(--ease-out);align-items:center;gap:18px;margin:0;font-size:28px;font-weight:700;display:flex}.plist-title .dot{background:var(--ink);opacity:0;width:8px;height:8px;transition:opacity var(--dur) var(--ease-out), background var(--dur) var(--ease-out);border-radius:50%}.plist-row:hover .plist-title .dot{opacity:1;background:var(--gradient-brand)}.plist-cell{font-family:var(--font-sans);color:var(--fg-2);font-size:13px}.plist-cell.mono{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.plist-arrow{border:1px solid var(--line-1);width:36px;height:36px;transition:all var(--dur) var(--ease-out);border-radius:50%;justify-content:center;justify-self:end;align-items:center;font-size:14px;display:inline-flex}.plist-row:hover .plist-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(-45deg)}.plist-preview{pointer-events:none;opacity:0;z-index:50;width:320px;height:220px;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);box-shadow:var(--shadow-3);background-position:50%;background-size:cover;position:fixed;transform:translate(0,0)scale(.96)}.plist-preview.visible{opacity:1;transform:scale(1)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:56px 24px;margin-top:32px;display:grid}.pcard{cursor:pointer;position:relative}.pcard-img-wrap{background:var(--bg-3);aspect-ratio:4/3;position:relative;overflow:hidden}.pcard-img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease-out), filter var(--dur) var(--ease-out)}.pcard:hover .pcard-img{transform:scale(1.05)}.pcard-img-wrap:after{content:"";opacity:0;transition:opacity var(--dur) var(--ease-out);background:linear-gradient(#0000 60%,#00000073 100%);position:absolute;inset:0}.pcard:hover .pcard-img-wrap:after{opacity:1}.pcard-overlay{color:var(--paper);opacity:0;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);z-index:2;justify-content:flex-end;padding:22px;display:flex;position:absolute;inset:auto 0 0;transform:translateY(8px)}.pcard:hover .pcard-overlay{opacity:1;transform:translateY(0)}.pcard-overlay .view-tag{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;display:inline-flex}.pcard-overlay .view-tag .arr{background:var(--paper);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pcard-meta{grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:20px;display:grid}.pcard-num{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin-bottom:8px;font-size:11px}.pcard-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,2.2vw,2rem);font-weight:700;line-height:1}.pcard-tags{text-align:right;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-2);flex-direction:column;gap:4px;font-size:10px;display:flex}.about-grid{grid-template-columns:5fr 7fr;align-items:start;gap:80px;display:grid}.about-grid>*{min-width:0}.about-portrait{aspect-ratio:4/5;background:var(--bg-3);position:relative;overflow:hidden}.about-portrait img{object-fit:cover;filter:grayscale(0)contrast(1.05);width:100%;height:100%}.about-portrait:after{content:"";background:linear-gradient(#0000 0%,#0006 100%);height:50%;position:absolute;inset:auto 0 0}.about-portrait-meta{color:var(--paper);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;font-size:11px;position:absolute;bottom:24px;left:24px}.about-text h3{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 32px;font-size:clamp(2rem,3.6vw,3rem);font-weight:700;line-height:1.05}.about-text h3 em{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.about-text p{color:var(--fg-2);margin:0 0 18px;font-size:17px;line-height:1.6}.about-quote{border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:40px 0;padding:32px 0;font-size:22px;font-weight:600;line-height:1.35}.about-quote .open{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:6px;font-family:Times New Roman,Georgia,serif;font-size:32px;font-style:italic;font-weight:500}.about-stats{border-top:1px solid var(--line-1);grid-template-columns:repeat(3,1fr);gap:32px;margin-top:32px;padding-top:32px;display:grid}.about-stat .num{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:56px;font-weight:700;line-height:1}.about-stat .lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin-top:12px;font-size:11px;display:block}.cap-grid{border-top:1px solid #ffffff1f;border-left:1px solid #ffffff1f;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.cap-cell{cursor:default;min-height:280px;transition:background var(--dur) var(--ease-out);border-bottom:1px solid #ffffff1f;border-right:1px solid #ffffff1f;flex-direction:column;justify-content:space-between;padding:40px 32px 48px;display:flex;position:relative;overflow:hidden}.cap-cell:hover{background:#ffffff08}.cap-cell .cap-num{font-family:var(--font-mono);letter-spacing:.18em;opacity:.5;font-size:11px}.cap-cell .cap-title{font-family:var(--font-display);letter-spacing:-.02em;min-height:2em;margin:16px 0;font-size:32px;font-weight:700;line-height:1}.cap-cell .cap-title em{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.cap-cell .cap-desc{color:#fff9;font-size:14px;line-height:1.55}.cap-cell .cap-tags{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}.cap-cell .cap-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;border:1px solid #ffffff26;border-radius:999px;padding:4px 10px;font-size:10px}.process{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.process-list{flex-direction:column;display:flex}.process-step{border-top:1px solid var(--line-1);cursor:pointer;transition:padding var(--dur) var(--ease-out);grid-template-columns:60px 1fr;gap:24px;padding:32px 0;display:grid;position:relative}.process-step:last-child{border-bottom:1px solid var(--line-1)}.process-step .pn{font-family:var(--font-mono);letter-spacing:.18em;color:var(--fg-3);padding-top:4px;font-size:11px}.process-step .pt{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:700;line-height:1.05}.process-step .pt em{color:var(--stone-500);font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.process-step .pd-wrap{transition:grid-template-rows var(--dur-slow) var(--ease-out), margin-top var(--dur-slow) var(--ease-out);grid-template-rows:0fr;display:grid}.process-step.open .pd-wrap{grid-template-rows:1fr;margin-top:12px}.process-step .pd{color:var(--fg-2);opacity:0;max-width:50ch;min-height:0;transition:opacity var(--dur) var(--ease-out);margin:0;font-size:14px;line-height:1.55;overflow:hidden}.process-step.open .pd{opacity:1}html:not(.js) .process-step .pd-wrap{grid-template-rows:1fr}html:not(.js) .process-step .pd{opacity:1}.process-step .toggle{border:1px solid var(--line-1);width:32px;height:32px;transition:all var(--dur) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:32px;right:0}.process-step.open .toggle{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:rotate(45deg)}.process-visual{aspect-ratio:5/6;background:var(--bg-3);border-radius:2px;position:sticky;top:96px;overflow:hidden}.process-visual-img{opacity:0;transition:opacity .6s var(--ease-out), transform 6s linear;background-position:50%;background-size:cover;position:absolute;inset:0}.process-visual-img.active{opacity:1;transform:scale(1.03)}.process-visual-cap{color:var(--paper);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;z-index:2;font-size:11px;position:absolute;bottom:24px;left:24px}.process-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000080);height:50%;position:absolute;inset:auto 0 0}.hero h1,.hero h2,.hero h3,.hero h4,.section.dark h1,.section.dark h2,.section.dark h3,.section.dark h4,.contact h1,.contact h2,.contact h3,.contact h4,.modal-next h2{color:var(--paper)}.contact{background:var(--ink);color:var(--paper);padding:128px 32px 32px;position:relative;overflow:hidden}.contact-mega{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(3.5rem,13vw,14rem);font-weight:800;line-height:.86}.contact-mega em{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.contact-cta{background:var(--paper);color:var(--ink);font-family:var(--font-display);cursor:pointer;transition:transform var(--dur) var(--ease-out);border-radius:999px;align-items:center;gap:18px;margin-top:48px;padding:22px 22px 22px 36px;font-size:24px;font-weight:600;display:inline-flex}.contact-cta:hover{transform:translateY(-2px)}.contact-cta .arr{background:var(--ink);width:56px;height:56px;color:var(--paper);transition:transform var(--dur) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.contact-cta:hover .arr{transform:rotate(45deg)}.contact-grid{border-top:1px solid #ffffff26;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:96px;padding-top:32px;display:grid}.contact-grid h3{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c;margin:0 0 16px;font-size:11px;font-weight:400}.contact-grid a,.contact-grid p{color:var(--paper);margin:0 0 6px;font-size:15px;line-height:1.5;display:block}.contact-grid a{transition:color var(--dur-fast) var(--ease-out)}.contact-grid a:hover{color:var(--grad-2)}.contact-foot{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;border-top:1px solid #ffffff26;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:96px;padding-top:32px;font-size:11px;display:grid}.contact-foot .center{text-align:center}.contact-foot .right{text-align:right}.modal-veil{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:200;opacity:0;pointer-events:none;transition:opacity .38s var(--ease-out);background:#0a0a0ad9;position:fixed;inset:0}.modal-veil.open{opacity:1;pointer-events:auto}.modal{background:var(--paper-2);z-index:201;opacity:0;pointer-events:none;transition:opacity .38s var(--ease-out), transform .38s var(--ease-out);border-radius:4px;position:fixed;inset:32px;overflow:hidden auto;transform:scale(.96)translateY(20px)}.modal.open{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.modal-close{z-index:210;background:var(--ink);width:56px;height:56px;color:var(--paper);cursor:pointer;transition:transform var(--dur) var(--ease-out);opacity:0;pointer-events:none;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:inline-flex;position:fixed;top:56px;right:56px}.modal-close.open{opacity:1;pointer-events:auto}.modal-close:hover{transform:rotate(90deg)}.modal-hero{aspect-ratio:16/9;background-position:50%;background-size:cover;background-color:var(--ink);position:relative;overflow:hidden}.modal-hero:after{content:"";background:linear-gradient(#0000 50%,#0000008c 100%);position:absolute;inset:0}.modal-hero-meta{color:var(--paper);z-index:2;grid-template-columns:auto 1fr;align-items:end;gap:56px;padding:56px;display:grid;position:absolute;bottom:0;left:0;right:0}.modal-hero-meta .num{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;opacity:.85;margin-bottom:8px;font-size:11px;display:block}.modal-hero-meta h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--paper);margin:0;font-size:clamp(2rem,6vw,5rem);font-weight:800;line-height:.92}.modal-hero-tags{text-align:right;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.85;flex-direction:column;align-self:end;gap:4px;padding-bottom:12px;font-size:11px;display:flex}.modal-body{grid-template-columns:1fr 2fr;gap:80px;max-width:1280px;margin:0 auto;padding:80px 56px;display:grid}.modal-specs{flex-direction:column;gap:28px;display:flex}.modal-specs .spec{border-top:1px solid var(--line-1);padding-top:16px}.modal-specs .spec .spec-lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);margin:0 0 6px;font-size:11px;font-weight:400;display:block}.modal-specs .spec p{color:var(--ink);margin:0;font-size:15px;line-height:1.5}.modal-text h2{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 24px;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;line-height:1.1}.modal-text h2 em{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-size:1.35em;font-style:italic;font-weight:700;line-height:1}.modal-text p{color:var(--fg-2);max-width:60ch;margin:0 0 18px;font-size:17px;line-height:1.6}.modal-gallery{grid-template-columns:repeat(6,1fr);gap:16px;max-width:1280px;margin:0 auto;padding:0 56px 80px;display:grid}.modal-gallery img{width:100%;height:auto;display:block}.modal-gallery img.span-6{grid-column:span 6}.modal-gallery img.span-4{grid-column:span 4}.modal-gallery img.span-3{grid-column:span 3}.modal-gallery img.span-2{grid-column:span 2}.modal-next{background:var(--ink);color:var(--paper);cursor:pointer;border-top:1px solid #ffffff1a;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:80px 56px;display:grid}.modal-next .lbl{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-bottom:16px;font-size:11px;display:block}.modal-next h2{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:.95}.modal-next .arr{background:var(--paper);width:80px;height:80px;color:var(--ink);transition:transform var(--dur) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:inline-flex}.modal-next:hover .arr{transform:rotate(-45deg)}.reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(40px)}.reveal.in{opacity:1;transform:translateY(0)}@media (max-width:1024px){.nav-links{display:none}.nav-right{grid-column:3}.nav-burger{display:inline-flex}.section-head{grid-template-columns:1fr;gap:32px}.section-head .meta{position:static}.about-grid,.process{grid-template-columns:1fr;gap:56px}.about-portrait{max-width:380px}.cap-grid{grid-template-columns:repeat(2,1fr)}.modal-body{grid-template-columns:1fr;gap:40px;padding:56px 32px}.crumbs{padding:32px 32px 0}.contact-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:160px 32px 140px}.hero-foot{grid-template-columns:1fr 1fr;gap:28px;margin-bottom:60px}.hero-tagrow{gap:16px;font-size:10px}.hero-tagrow .l{flex-wrap:wrap;gap:12px}}@media (max-width:640px){.section{padding:80px 20px}.about-portrait{max-width:240px}.about-portrait-meta{font-size:9px;bottom:14px;left:14px}.about-text h3{font-size:1.65rem}.about-stats{gap:20px}.about-stat .num{font-size:24px}.about-stat .lbl{font-size:10px}.contact{padding:96px 20px 32px}.contact-mega{font-size:clamp(2.5rem,11vw,3.5rem)}.contact-cta{gap:12px;margin-top:36px;padding:10px 10px 10px 22px;font-size:16px}.contact-cta .arr{width:38px;height:38px;font-size:16px}.projects-grid{grid-template-columns:1fr}.nav,.hero-tagrow{padding-left:20px;padding-right:20px}.nav{padding-top:16px;padding-bottom:16px}.nav.scrolled{padding-top:12px;padding-bottom:12px}.nav-brand{gap:10px;font-size:16px}.nav-brand .mark{width:22px;height:22px}.nav-cta{padding:7px 14px;font-size:11px}.hero{padding:120px 20px 72px}.hero-tagrow{letter-spacing:.18em;top:84px}.hero-tagrow .l{display:none}.hero-foot{grid-template-columns:1fr;gap:24px;margin-top:36px;margin-bottom:0}.hero-foot .val{max-width:none}.hero-foot-cta{justify-self:start;margin-top:8px;padding:12px 12px 12px 22px}.work-controls{flex-direction:column;align-items:stretch;gap:20px;padding-bottom:24px}.view-toggle{align-self:flex-start}.filters{gap:6px}.filter-pill{padding:6px 12px;font-size:11px}.plist-row{grid-template-columns:40px 1fr 32px;gap:14px;padding:20px 4px}.plist-row .plist-cell{display:none}.plist-row:hover{padding-left:4px}.nav-meta,.hero-thumbs{display:none}.cap-grid{grid-template-columns:1fr}.modal-gallery{grid-template-columns:repeat(2,1fr)}.modal-gallery img.span-6,.modal-gallery img.span-4,.modal-gallery img.span-3{grid-column:span 2}.contact-grid{grid-template-columns:1fr}.modal{border-radius:0;inset:0}.modal-close{top:20px;right:20px}.marquee{padding:14px 0}.marquee-track,.marquee-group,.marquee-item{gap:28px}.marquee-item{font-size:1.15rem}.marquee-item .star{width:9px;height:9px}}.hero-bg-img>img,.hero-thumb>img,.process-visual-img>img,.modal-hero>img{object-fit:cover}.hero-thumb>img{border-radius:4px}html:not(.js) .reveal{opacity:1;transform:none}.project-page{background:var(--paper-2);min-height:100vh}.project-page .modal-hero{min-height:60vh}a.modal-close{text-decoration:none}a.modal-next{text-decoration:none;display:grid}a.contact-cta{text-decoration:none}@media (hover:none) and (pointer:coarse){.view-toggle{display:none}}@media (prefers-reduced-motion:reduce){.hero-bg-img.active{animation:none;transform:scale(1)}.marquee-track{animation:none}.reveal{opacity:1;transition:none;transform:none}.cursor-dot,.cursor-ring{display:none}.hero-title .line span{animation:none;transform:none}.hero-foot{opacity:1;animation:none}}a.plist-row,a.pcard{color:inherit;text-decoration:none;display:grid}a.pcard{display:block}.crumbs{max-width:1280px;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--stone-500);flex-wrap:wrap;align-items:center;gap:12px;margin:0 auto;padding:40px 56px 0;font-size:11px;display:flex}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover,.crumbs [aria-current]{color:var(--fg-1)}.related-work{padding-top:24px}.modal-hero-meta h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--paper);margin:0;font-size:clamp(2rem,6vw,5rem);font-weight:800;line-height:.92}.mv-section{max-width:1280px;margin:0 auto;padding:0 56px 80px}.mv-head{margin-bottom:32px}.mv-lbl{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);margin-bottom:16px;font-size:11px;display:block}.mv-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700}.mv-head h2 em{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.mv-head p{color:var(--fg-2);margin:0;font-size:15px}.mv-wrap{aspect-ratio:16/10;background:var(--paper-3);border:1px solid var(--line-1);position:relative;overflow:hidden}.mv-wrap model-viewer{--progress-bar-color:var(--ink);--progress-bar-height:2px;background:0 0;width:100%;height:100%}.mv-poster{background-position:50%;background-size:cover;position:absolute;inset:0}.mv-hint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);pointer-events:none;font-size:11px;position:absolute;bottom:16px;left:16px}@media (max-width:900px){.mv-section{padding:0 32px 56px}.mv-wrap{aspect-ratio:4/5}}.cform{flex-direction:column;gap:28px;max-width:720px;margin:64px 0 96px;display:flex}.cform-hp{position:absolute;top:-9999px;left:-9999px}.cform-row{grid-template-columns:1fr 1fr;gap:28px;display:grid}.cform-field{flex-direction:column;gap:10px;display:flex}.cform-field label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:11px}.cform-field input,.cform-field select,.cform-field textarea{color:var(--paper);font-family:var(--font-sans);transition:border-color var(--dur) var(--ease-out);background:0 0;border:0;border-bottom:1px solid #ffffff40;border-radius:0;padding:10px 2px;font-size:16px}.cform-field select{appearance:none;cursor:pointer}.cform-field select option{color:var(--ink)}.cform-field textarea{resize:vertical;line-height:1.5}.cform-field input:focus,.cform-field select:focus,.cform-field textarea:focus{border-bottom-color:var(--paper);outline:none}.cform-field ::placeholder{color:#ffffff8c}.cform-err{color:#f2b8ad;font-size:13px}.cform-submit{background:var(--paper);color:var(--ink);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:transform var(--dur) var(--ease-out);border:0;align-self:flex-start;align-items:center;gap:14px;padding:18px 32px;font-size:12px;display:inline-flex}.cform-submit:hover{transform:translateY(-2px)}.cform-submit:disabled{opacity:.6;cursor:default}.cform-success{border:1px solid #fff3;max-width:720px;margin:64px 0 96px;padding:40px}.cform-success h3{font-family:var(--font-display);color:var(--paper);margin:0 0 12px;font-weight:700}.cform-success p{color:#ffffffb3;margin:0}@media (max-width:700px){.cform-row{grid-template-columns:1fr}}.services-page{background:var(--paper-2)}.services-h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 24px;font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:700;line-height:1.05}.services-h1 em{background:var(--gradient-brand-deep);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Times New Roman,Georgia,serif;font-style:italic;font-weight:500}.services-grid{background:var(--line-1);border:1px solid var(--line-1);grid-template-columns:1fr 1fr;gap:1px;margin:80px 0;display:grid}.services-cell{background:var(--paper-2);padding:48px}.services-cell h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-24);margin:0 0 16px}.services-cell p{color:var(--fg-2);margin:0;line-height:1.6}.services-cta{max-width:720px;padding:0 0 96px}.services-cta p{color:var(--fg-2);font-size:17px}.services-cta a{color:var(--fg-1)}@media (max-width:900px){.services-grid{grid-template-columns:1fr}.services-cell{padding:32px}}.services-page>.container{padding:0 32px}.concept-badge{border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--paper);vertical-align:middle;border:1px solid #ffffff80;margin-left:16px;padding:4px 12px;font-size:10px;display:inline-block}.section-lbl{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--stone-500);margin:40px 0 12px;font-size:11px;font-weight:400}.modal-gallery video,.modal-gallery img.span-6{background:var(--ink);width:100%;display:block}.modal-gallery video.span-6{grid-column:span 6}.film-section{max-width:1280px;margin:0 auto;padding:0 56px 80px}.film-frame{aspect-ratio:16/9;background:var(--ink);position:relative}.film-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (max-width:900px){.film-section{padding:0 32px 56px}.modal-gallery video.span-6{grid-column:span 2}}.modal-gallery{align-items:start}.g-zoom{cursor:zoom-in}.lightbox{z-index:300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-out);background:#0a0a0aeb;justify-content:center;align-items:center;padding:48px;display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(100vh - 96px);box-shadow:var(--shadow-3);cursor:zoom-out}.lightbox-close{background:var(--paper);width:48px;height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:inline-flex;position:fixed;top:24px;right:24px}@media (max-width:700px){.lightbox{padding:16px}}
