@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-cyrillic-ext-300-normal.DIxttMbC.woff2) format("woff2"),url(/_astro/roboto-cyrillic-ext-300-normal.D7ank4TF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-cyrillic-300-normal.DzUz0kzv.woff2) format("woff2"),url(/_astro/roboto-cyrillic-300-normal.DEFNdjk5.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-greek-ext-300-normal.BbiXjK5K.woff2) format("woff2"),url(/_astro/roboto-greek-ext-300-normal.DfD0Kwym.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-greek-300-normal.DJEM9B4Z.woff2) format("woff2"),url(/_astro/roboto-greek-300-normal.C_Dgaih9.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-math-300-normal.5dF_7mZP.woff2) format("woff2"),url(/_astro/roboto-math-300-normal.Ds0YpBw2.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-symbols-300-normal.DDU7avhj.woff2) format("woff2"),url(/_astro/roboto-symbols-300-normal.BCnjhQd_.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-vietnamese-300-normal.BPvXm_f1.woff2) format("woff2"),url(/_astro/roboto-vietnamese-300-normal.INUupD3o.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-latin-ext-300-normal.B90pq-BC.woff2) format("woff2"),url(/_astro/roboto-latin-ext-300-normal.CTCCHkZF.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-latin-300-normal.CCzlftfr.woff2) format("woff2"),url(/_astro/roboto-latin-300-normal.BARJ-h6h.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-cyrillic-ext-400-normal.qHufge6k.woff2) format("woff2"),url(/_astro/roboto-cyrillic-ext-400-normal.CaK1767H.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-cyrillic-400-normal.CBPI_iaY.woff2) format("woff2"),url(/_astro/roboto-cyrillic-400-normal.Bjg-1-sg.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-greek-ext-400-normal.C7ftzq0i.woff2) format("woff2"),url(/_astro/roboto-greek-ext-400-normal.jdwwPINv.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-greek-400-normal.ai2Z1K3C.woff2) format("woff2"),url(/_astro/roboto-greek-400-normal.Bb5mj_fZ.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-math-400-normal.BEFej5gc.woff2) format("woff2"),url(/_astro/roboto-math-400-normal.C9RxBKAh.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-symbols-400-normal.CB1Ce4Gk.woff2) format("woff2"),url(/_astro/roboto-symbols-400-normal.DLYbZahX.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-vietnamese-400-normal.D2PTxGxD.woff2) format("woff2"),url(/_astro/roboto-vietnamese-400-normal.DnpnVwnf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-latin-ext-400-normal.C3tdtHj3.woff2) format("woff2"),url(/_astro/roboto-latin-ext-400-normal.scX0fKtV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/roboto-latin-400-normal.BqEyEoaF.woff2) format("woff2"),url(/_astro/roboto-latin-400-normal.DyYNIH4P.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-cyrillic-ext-500-normal.BWC_xYeb.woff2) format("woff2"),url(/_astro/roboto-cyrillic-ext-500-normal.DqF2hftb.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-cyrillic-500-normal.CLao9AfR.woff2) format("woff2"),url(/_astro/roboto-cyrillic-500-normal.CBKMylY4.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-greek-ext-500-normal.CQLBPaP8.woff2) format("woff2"),url(/_astro/roboto-greek-ext-500-normal.DLhVWJrH.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-greek-500-normal.C9AnhcmC.woff2) format("woff2"),url(/_astro/roboto-greek-500-normal.oCqhoyfc.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-math-500-normal.C4NU9gLX.woff2) format("woff2"),url(/_astro/roboto-math-500-normal.C-7mKPO3.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-symbols-500-normal.B_CZKVJS.woff2) format("woff2"),url(/_astro/roboto-symbols-500-normal.F7c8nfcH.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-vietnamese-500-normal.B3ncpOoB.woff2) format("woff2"),url(/_astro/roboto-vietnamese-500-normal.D380IkQ8.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-latin-ext-500-normal.pMCM9Ixg.woff2) format("woff2"),url(/_astro/roboto-latin-ext-500-normal.Cyc0AKLz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/roboto-latin-500-normal.7RbcRiD8.woff2) format("woff2"),url(/_astro/roboto-latin-500-normal.DQZyH_nt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-accent: #c94e43;--color-heading: #000;--color-text: #333;--color-text-light: #555;--color-muted: #615c5f;--color-gray: #999;--color-bg: #fff;--color-bg-soft: #f5f5f5;--color-bg-tag: #f6f4f6;--color-bg-footer: #fafafb;--font-heading: "IBM Plex Sans", sans-serif;--font-body: "Roboto", sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ink: var(--color-heading);--cream: var(--color-bg);--lime: var(--color-accent);--muted: var(--color-muted);--line: rgb(0 0 0 / 13%);--nav-height: clamp(64px, 7.2vw, 76px);--content-max: 1320px;--page-gutter: 5vw}html{scroll-padding-top:var(--nav-height)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}.proof,.bento-section,.technologies,.founder,.process,.all-cases-bridge,.cesium,.contact,.site-footer{padding-inline:max(var(--page-gutter),calc((100% - var(--content-max)) / 2))}.nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-height);background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav nav{align-items:center;gap:clamp(12px,1.6vw,18px);font-size:clamp(14px,1.15vw,16px);font-weight:500}.nav nav>a,.lab-nav summary{display:inline-flex;align-items:center;min-height:clamp(36px,4.5vw,40px);padding:0 8px}.logo{display:inline-flex;align-items:center}.logo img{display:block;width:154px;height:auto}.nav .logo img{width:clamp(118px,12vw,132px)}.nav>.pill{gap:8px;padding:clamp(10px,1.1vw,12px) clamp(14px,1.4vw,18px);font-size:clamp(14px,1.15vw,16px)}.nav>.pill svg{display:block;flex:none;transform:translateY(-1px)}.nav nav>.nav-mobile-cta{display:none}.nav-menu-toggle{display:none}.lab-nav{position:relative}.lab-nav summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none}.lab-nav summary::-webkit-details-marker{display:none}.lab-chevron{display:inline-grid;place-items:center;flex:none;width:14px;height:14px}.lab-chevron i{width:8px;height:8px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:translateY(-2px) rotate(45deg);transform-origin:50% 50%;transition:transform .2s var(--ease-out)}.lab-nav[open] .lab-chevron i{transform:translateY(2px) rotate(225deg)}.lab-dropdown{position:absolute;top:calc(100% + 22px);left:50%;width:470px;padding:14px;border:1px solid rgb(0 0 0 / 10%);border-radius:22px;background:#fffffff2;box-shadow:0 24px 60px #00000029;opacity:0;transform:translate(-50%,-7px) scale(.97);transform-origin:top center;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.lab-nav[open] .lab-dropdown{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.lab-dropdown:before{content:"";position:absolute;height:24px;top:-22px;left:0;right:0}.lab-dropdown a{display:grid;gap:9px;min-height:166px;padding:23px 24px;border:1px solid rgb(0 0 0 / 12%);border-radius:16px;transition:background .2s ease,transform .2s ease,border-color .2s ease}.lab-dropdown a:hover,.lab-dropdown a:focus-visible{border-color:#c94e438c;background:var(--color-bg-soft);transform:translate(3px);outline:none}.lab-dropdown a+a{margin-top:8px}.lab-card-meta{display:flex;justify-content:space-between;gap:20px}.lab-dropdown small{color:var(--color-accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.lab-dropdown strong{color:var(--color-heading);font:500 22px var(--font-heading)}.lab-dropdown a>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-muted);font-size:13px;line-height:1.5}.lab-dropdown em{align-self:end;color:var(--color-heading);font-size:11px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}@media(prefers-reduced-motion:reduce){.lab-chevron i{transition:none}.lab-dropdown{transition:opacity .16s ease}}main{display:flex;flex-direction:column}.hero{order:1}.proof,.manifest{order:2}.bento-section{order:3}.cesium{order:4}.all-cases-bridge{order:5}.technologies{order:6}.founder{order:7}.process{order:8}.contact{order:9}.hero h1,.manifest h2,.cesium h2,.section-head h2,.process>h2,.contact h2,.services h3{font-family:var(--font-heading)}.logo span,.eyebrow span{background:var(--color-accent);color:var(--color-accent)}.pill-accent,.circle-link{background:var(--color-accent);color:#fff}.hero h1,.section-head h2,.contact h2{color:var(--color-heading)}.hero h1 em,.section-head em,.contact em,.manifest h2{color:var(--color-muted)}.manifest,.expertise{background:var(--color-bg)}.cesium{background:var(--color-heading)}.process{padding-block:60px 64px;background:var(--color-accent)}.process{color:var(--color-heading)}.process-eyebrow{color:#32110e}.process .process-eyebrow span{background:#0a0303;color:#0a0303}.process-head{display:grid;grid-template-columns:1fr minmax(300px,430px);align-items:end;gap:28px 60px;margin:24px 0 44px}.process-head h2{margin:0;color:#fff;font-size:clamp(58px,6.6vw,106px);line-height:.88}.process-head>p{max-width:430px;margin:0 0 6px;color:#431713;font-size:18px;line-height:1.45}.steps{gap:0;border-top:1px solid rgb(49 15 12 / 38%)}.steps article{position:relative;min-height:310px;padding:28px 30px 26px 0;border:0;border-right:1px solid rgb(49 15 12 / 25%);border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.steps article+article{padding-left:30px}.steps article:last-child{border-right:0}.steps article:first-child{background:transparent;box-shadow:none;transform:none}.steps b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#35120f;color:#fff;font:600 14px var(--font-heading);box-shadow:0 8px 24px #4317132e}.steps h3{margin:26px 0 16px;color:#fff9f7;font:600 24px/1.1 var(--font-heading);letter-spacing:-.025em}.steps p{color:#f4d8d4;font-size:15px;line-height:1.58}.steps ul{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none;color:#f4d8d4;font-size:14px;line-height:1.4}.steps li:before{content:"✓";margin-right:7px;color:#fff;font-weight:700}.steps strong{color:#fff}.steps article.process-consultation{display:flex;flex-direction:column;min-height:310px;margin:0;padding:28px clamp(24px,2.2vw,34px) 26px;border:0;border-right:1px solid rgb(255 255 255 / 14%);border-radius:0;background:#35120f;box-shadow:none}.process-consultation b{background:var(--color-accent);box-shadow:0 0 0 1px #ffffff2e}.process-consultation h3{margin-top:24px;color:#fff;font-size:clamp(23px,1.75vw,28px)}.process-consultation p{margin-bottom:0;color:#f0cbc7}.consultation-note{display:block;margin-top:auto;padding-top:24px;color:#eaa9a2;font-size:10px;font-weight:500;line-height:1.35;text-transform:uppercase;letter-spacing:.11em}.process-consultation .consultation-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:50px;margin-top:12px;padding:0 9px 0 18px;border-radius:999px;background:#fff;color:#21110f;font-size:14px;font-weight:500;box-shadow:0 12px 28px #0000003d;transition:background .18s ease,box-shadow .18s ease,transform .18s var(--ease-out)}.consultation-cta span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-accent);color:#fff;transition:transform .18s var(--ease-out),background .18s ease}.consultation-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(hover:hover)and (pointer:fine){.consultation-cta:hover{background:#fff8f7;box-shadow:0 16px 34px #00000057;transform:translateY(-3px)}.consultation-cta:hover span{background:#1f0d0b;transform:translate3d(2px,-2px,0)}}@media(min-width:801px){.process{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - var(--nav-height));padding-block:clamp(32px,4.5vh,56px)}.process-head{margin:clamp(12px,2vh,18px) 0 clamp(18px,2.5vh,24px)}.process-head h2{font-size:clamp(56px,min(6.6vw,11vh),106px)}.steps{flex:none;height:clamp(400px,calc(100svh - var(--nav-height) - 310px),520px);min-height:0}.steps article,.steps article.process-consultation{height:100%;min-height:0;padding-top:28px;padding-bottom:26px}}@media(min-width:801px)and (max-width:1099px){.steps{height:auto;min-height:520px}.steps article,.steps article.process-consultation{height:auto}}@media(max-width:800px){.process{padding-block:70px 64px}.process-head{display:block;margin:28px 0 42px}.process-head h2{font-size:clamp(46px,12.5vw,58px);line-height:.92;letter-spacing:-.05em}.process-head>p{margin-top:25px}.steps article,.steps article+article{min-height:0;padding:30px 0;border-right:0;border-bottom:1px solid rgb(49 15 12 / 25%)}.steps article.process-consultation{min-height:0;margin:0;padding:28px 24px 26px;border:0;border-bottom:1px solid rgb(255 255 255 / 14%);border-radius:0;background:#35120f;box-shadow:none}.steps h3{margin-top:25px}.consultation-note{margin-top:24px;padding-top:0}.process-consultation .consultation-cta{margin-top:12px}}@media(prefers-reduced-motion:reduce){.process-consultation .consultation-cta,.consultation-cta span{transition:background .18s ease,box-shadow .18s ease}.consultation-cta:hover,.consultation-cta:hover span{transform:none}}.globe,.mini-globe{background:radial-gradient(circle at 32% 25%,#f3bbb5,var(--color-accent) 42%,#69241f 78%);box-shadow:inset -38px -28px 60px #32100e,0 50px 100px #615c5f33}.grid{background-image:linear-gradient(rgb(255 255 255 / 22%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 22%) 1px,transparent 1px)}.land{background:var(--color-bg-soft)}.route{border-color:#fff transparent transparent #fff}.pin{background:var(--color-accent)}.screen{background:radial-gradient(circle at 55% 48%,#d98279,var(--color-accent) 45%,#401512)}.proof{padding-block:100px 110px;background:var(--color-bg-soft);color:var(--color-heading)}.proof-header{display:grid;gap:28px;margin-bottom:52px}.proof-heading{display:flex;align-items:end;justify-content:space-between;gap:48px}.proof-heading h2{margin:0;font:500 clamp(58px,6.5vw,98px)/.9 var(--font-heading);letter-spacing:-.06em}.proof-heading h2 em{color:var(--color-muted);font-style:normal}.proof-heading p{max-width:350px;margin:0 0 5px;color:var(--color-text-light);font-size:17px;line-height:1.5}.proof-grid{display:grid;grid-template-columns:.92fr 1.16fr .92fr;gap:14px}.proof-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:330px;padding:25px 26px 27px;overflow:hidden;border:1px solid rgb(0 0 0 / 10%);border-radius:22px;background:#fff;color:var(--color-heading);transition:transform .28s cubic-bezier(.22,.8,.22,1),box-shadow .28s ease,border-color .2s ease}.proof-card:after{content:"";position:absolute;right:-90px;bottom:-120px;width:240px;height:240px;border:1px solid rgb(201 78 67 / 18%);border-radius:50%;background:radial-gradient(circle at 36% 34%,rgb(201 78 67 / 10%),transparent 62%);box-shadow:0 0 0 24px #c94e430d,0 0 0 48px #c94e4308;transform-origin:center;transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .55s ease,box-shadow .65s ease,border-color .4s ease;pointer-events:none}.proof-card:hover{z-index:1;transform:translateY(-7px);border-color:#c94e4359;box-shadow:0 24px 55px #0000001f}.proof-card:focus-visible{z-index:2;outline:3px solid var(--color-accent);outline-offset:4px}.proof-card-featured{--nav-logo:#111;border-color:#14a80038;background:radial-gradient(circle at 88% 10%,rgb(149 223 0 / 14%),transparent 34%),linear-gradient(145deg,#fcfdfb,#f4f8f1);color:#111;box-shadow:inset 0 1px #ffffffd6}.proof-card-featured:after{border-color:#14a80061;background:radial-gradient(circle at 36% 34%,rgb(149 223 0 / 16%),transparent 62%);box-shadow:0 0 0 24px #14a80012,0 0 0 48px #95df000a}.proof-card:is(:hover,:focus-visible):after{border-color:#c94e4394;box-shadow:0 0 0 31px #c94e4317,0 0 0 62px #c94e430d;transform:translate3d(-20px,-17px,0) scale(1.14)}.proof-card-featured:is(:hover,:focus-visible){border-color:#14a800;box-shadow:0 24px 55px #14a80026}.proof-card-featured:is(:hover,:focus-visible):after{border-color:#14a800c2;box-shadow:0 0 0 31px #14a80024,0 0 0 62px #95df001a}.proof-card-top{display:flex;align-items:center;justify-content:flex-end;gap:20px}.proof-card-featured .proof-card-top{justify-content:space-between}.proof-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--color-bg-soft)}.proof-icon img{display:block;width:30px;height:30px;object-fit:contain}.proof-card-featured .proof-icon{background:#ffffffc7;box-shadow:inset 0 0 0 1px #14a80017}.proof-card-featured .proof-icon img{width:40px;height:40px}.proof-stat{position:relative;z-index:1;display:flex;align-items:end;gap:16px;margin:auto 0 36px}.proof-stat strong{flex:none;font:500 clamp(62px,6vw,92px)/.78 var(--font-heading);font-variant-numeric:tabular-nums;letter-spacing:-.065em;white-space:nowrap}.proof-stat span{padding-bottom:2px;color:var(--color-text-light);font-size:16px;line-height:1.35}.proof-card-featured .proof-stat span{color:#42513f}.proof-upwork-wordmark{display:block;width:90px;height:auto;color:#108a00}.proof-link{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px;padding-top:17px;border-top:1px solid var(--line);font-size:15px;font-weight:500}.proof-card-featured .proof-link{border-color:#14a80029}.proof-card-featured .proof-link i{background:#14a800;color:#fff}.proof-link i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--color-accent);color:#fff;font-style:normal}.proof-link i svg{display:block;width:16px;height:16px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}html.has-proof-motion .proof:not(.is-visible) .proof-card:after{opacity:0;transform:translate3d(34px,34px,0) scale(.58)}html.has-proof-motion .proof.is-visible .proof-card:after{transition-delay:calc(var(--proof-index, 0) * 85ms)}html.has-proof-motion .proof.is-settled .proof-card:after{transition-delay:0ms}@media(max-width:980px){.proof-header{gap:22px}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-card:last-child{grid-column:1/-1}.proof-card{min-height:300px}}@media(max-width:620px){.proof{padding-block:74px 80px}.proof-heading{display:grid;gap:24px}.proof-heading h2{font-size:clamp(52px,15vw,72px)}.proof-heading p{font-size:16px}.proof-grid{grid-template-columns:1fr;gap:10px}.proof-card,.proof-card:last-child{grid-column:auto;min-height:245px;padding:21px 22px;border-radius:18px}.proof-icon{width:46px;height:46px}.proof-icon img{width:28px;height:28px}.proof-card-featured .proof-icon img{width:36px;height:36px}.proof-stat{margin-block:38px 30px}.proof-stat strong{font-size:clamp(64px,21vw,86px)}}@media(prefers-reduced-motion:reduce){.proof-card{transition:none}.proof-card:hover{transform:none}.proof-card:after,html.has-proof-motion .proof .proof-card:after{opacity:1;transform:none;transition:none}.proof-card:is(:hover,:focus-visible):after{transform:none}}.recycle-feature{background:#111411;grid-template-columns:34% 66%}.recycle-feature .sticky-copy{order:1;padding-left:0;transform:none}.recycle-feature .device-wrap{order:2}.recycle-slides,.audio-slides,.airport-slides{display:flex;width:100%;height:100%;margin-top:0;transition:transform .75s cubic-bezier(.22,.8,.22,1)}.recycle-slides img,.audio-slides img,.airport-slides img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}.airport-feature{background:#0d0f12;grid-template-columns:34% 66%}.airport-device{transform:rotateY(-8deg) rotateX(5deg)}.screen-switcher{display:flex;flex:none;gap:8px;min-height:45px;margin-top:44px;position:relative;z-index:8;transform:translateZ(80px)}.screen-switcher button{width:45px;height:45px;border-radius:50%;border:1px solid #555;color:#999;background:transparent;cursor:pointer;transition:.25s ease}.screen-switcher button:hover,.screen-switcher button.is-active{color:#fff;border-color:var(--color-accent);background:var(--color-accent)}.case-link{display:inline-block;margin-top:38px;color:#fff;border-bottom:1px solid var(--color-accent);padding-bottom:7px;font-size:14px}.sticky-copy a{color:#fff;text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:5px}.cesium .sticky-copy{position:relative;z-index:6;top:auto;align-self:center;padding-top:0}.cesium .sticky-copy h2{margin:30px 0;font-size:clamp(46px,4.6vw,88px);line-height:.92;letter-spacing:-.055em;text-shadow:0 4px 18px rgb(0 0 0 / 58%),0 1px 2px rgb(0 0 0 / 90%)}.cesium .device-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.cesium .device-wrap:not(.is-expanded){height:auto;min-height:0;align-self:center;transform:none;margin-top:0}.cesium .device-wrap:not(.is-expanded) .screen-switcher{position:absolute;left:50%;top:100%;margin-top:22px;transform:translate(-50%) translateZ(80px)}.cesium .device-wrap.is-expanded{z-index:1000}.case-details{font-size:15px!important;color:var(--color-gray)!important}.case-metrics{display:flex;flex-wrap:wrap;gap:clamp(18px,2vh,28px) clamp(32px,3.2vw,56px)}.case-metrics .metric{flex:0 1 auto;gap:clamp(14px,1.2vw,22px);min-width:0;margin-top:30px}.case-metrics .metric b{flex:none;font-size:clamp(24px,1.6vw,30px);white-space:nowrap}.case-metrics .metric span{flex:none;font-size:clamp(9px,.58vw,11px);line-height:1.35}.device-screen{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;background:#080808}.device-poster{position:absolute;z-index:1;inset:0;background-color:#080808;background-position:center;background-repeat:no-repeat;background-size:contain}.device-screen iframe{position:absolute;z-index:2;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border:0;background:#080808;pointer-events:none;opacity:0;transition:opacity .6s ease}.device-screen.is-playing iframe{opacity:1}.audio-screen{background:#080808}.audio-screen>img{width:100%;height:calc(100% - 30px);margin-top:30px;object-fit:contain;transform:scale(1);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.device-wrap:hover .audio-screen>img{transform:scale(1)}.cesium{min-height:0;grid-template-columns:minmax(0,34%) minmax(0,66%);grid-template-rows:auto;align-items:center;overflow:visible}.audio-feature{padding-top:clamp(80px,7vw,112px)}.cesium>.sticky-copy,.cesium>.device-wrap:not(.is-expanded){align-self:center}.device-wrap{min-height:0}.device{position:relative;z-index:1;width:min(100%,860px);aspect-ratio:16 / 9;border-radius:46px;padding:12px;box-shadow:none}.recycle-device{width:min(100%,860px);transform:rotateY(-8deg) rotateX(5deg)}.airport-feature .airport-device{width:min(100%,780px)}.device .screen{border-radius:35px}.device-top{left:50%;width:13px;height:13px;top:19px;border-radius:50%;opacity:.82;transform:translate(-50%)}.audio-screen>img{object-position:center}.audio-screen>img{object-fit:cover}@media(min-width:801px){.audio-feature{min-height:calc(100svh - var(--nav-height));height:calc(100svh - var(--nav-height));padding-block:clamp(24px,4vh,42px);align-items:center;overflow:hidden}.audio-feature>.sticky-copy,.audio-feature>.device-wrap:not(.is-expanded){align-self:center}.audio-feature .sticky-copy h2{margin:clamp(16px,2.8vh,28px) 0;font-size:clamp(46px,min(4.6vw,8.2vh),88px)}.audio-feature .sticky-copy>p{margin-block:clamp(10px,1.7vh,16px);font-size:clamp(14px,min(1.25vw,2vh),18px);line-height:1.5}.audio-feature .case-metrics .metric{margin-top:clamp(14px,2.4vh,24px)}.audio-feature .case-link{margin-top:clamp(18px,3vh,30px)}.audio-feature>.device-wrap:not(.is-expanded){width:100%;justify-self:center}.audio-feature .device-wrap:not(.is-expanded) .device{width:min(100%,860px,calc((100svh - var(--nav-height) - 150px) * 16 / 9))}.audio-feature .device-wrap:not(.is-expanded) .screen-switcher{position:relative;left:auto;top:auto;margin-top:clamp(14px,2.4vh,22px);transform:translateZ(80px)}}@media(max-width:800px){.cesium{grid-template-columns:1fr}.cesium .device-wrap:not(.is-expanded){height:auto;min-height:0;margin-top:64px}.device-wrap{min-height:0}.device,.recycle-device,.airport-device{transform:none!important;transition:none}.device{width:min(88vw,500px);aspect-ratio:16 / 9;border-radius:26px;padding:8px}.device .screen{border-radius:19px}.device-top{left:50%;width:9px;height:9px;top:11px;border-radius:50%;opacity:.82;transform:translate(-50%)}.audio-screen>img{height:100%;margin-top:0;object-fit:cover;object-position:52% center}.recycle-feature{grid-template-columns:1fr}.recycle-device{width:min(88vw,500px)}.recycle-slides,.audio-slides,.airport-slides{height:100%;margin-top:0}.airport-feature{grid-template-columns:1fr}.airport-feature .airport-device{width:min(84vw,470px)}.cesium .device-wrap:not(.is-expanded) .screen-switcher{position:relative;left:auto;top:auto;gap:7px;min-height:30px;margin:14px 0 0;transform:none}.screen-switcher button{width:30px;height:30px;padding:0;border-color:#ffffff3d;background:transparent;color:#aaa;font-size:11px}.case-metrics .metric span{font-size:12px}.screen-switcher button:hover,.screen-switcher button.is-active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.audio-slides,.recycle-slides,.airport-slides{touch-action:pan-y;user-select:none;-webkit-user-select:none}}@media(max-width:520px){.case-metrics{gap:18px 28px}}.map-hero{position:absolute;width:min(48vw,740px);aspect-ratio:1.15;right:-2vw;top:23vh;perspective:1100px;transform-style:preserve-3d}.osm-map{position:absolute;inset:8%;overflow:hidden;border:1px solid #deddd8;border-radius:40px;background-color:#f3f1ea;background-image:linear-gradient(31deg,transparent 46%,#fff 47%,#fff 49%,transparent 50%),linear-gradient(116deg,transparent 44%,#ddd9cf 45%,#ddd9cf 46%,transparent 47%),linear-gradient(68deg,transparent 59%,#fff 60%,#fff 62%,transparent 63%),linear-gradient(-15deg,transparent 35%,#e1ded6 36%,#e1ded6 37%,transparent 38%);box-shadow:0 45px 80px #0000002e;transform:rotateX(58deg) rotate(-18deg)}.osm-map:before,.osm-map:after{content:"";position:absolute;background:#fff;border:1px solid #ddd9d0}.osm-map:before{width:120%;height:26px;left:-10%;top:46%;transform:rotate(-24deg)}.osm-map:after{width:24px;height:120%;left:54%;top:-10%;transform:rotate(16deg)}.water{position:absolute;width:48%;height:120%;right:-25%;top:-10%;background:#dce7e8;transform:rotate(11deg)}.park{position:absolute;background:#dce6d3;border-radius:45% 55% 38% 62%}.park-a{width:26%;height:23%;left:8%;top:12%}.park-b{width:19%;height:28%;right:20%;bottom:8%}.road{position:absolute;z-index:2;height:4px;background:#eac9a3;border:1px solid #fff;transform-origin:left center}.road-a{width:82%;left:2%;top:28%;transform:rotate(13deg)}.road-b{width:72%;left:18%;top:77%;transform:rotate(-29deg)}.road-c{width:60%;left:35%;top:8%;transform:rotate(68deg)}.road-d{width:48%;left:3%;top:66%;transform:rotate(-67deg)}.map-label{position:absolute;z-index:3;color:#77736d;font-size:13px;letter-spacing:.02em}.label-a{left:42%;top:51%;font-size:20px;color:#55514d}.label-b{left:15%;top:24%}.label-c{left:57%;top:72%}.hero-marker{position:absolute;z-index:4;width:clamp(90px,10vw,155px);left:44%;top:26%;filter:drop-shadow(0 25px 18px rgb(50 16 14 / 30%));transform:translateZ(90px) rotate(-8deg);animation:marker-float 4s var(--ease-in-out) infinite}@keyframes marker-float{0%,to{transform:translateZ(90px) rotate(-8deg)}50%{transform:translate3d(0,-10px,90px) rotate(-6deg)}}.hero .map-hero{right:-6vw;top:auto;bottom:5vh;width:58vw;z-index:1}.hero h1{max-width:92%;z-index:3;font-size:clamp(68px,9vw,145px)}.hero>p{max-width:540px;font-size:clamp(17px,1.35vw,21px)}.hero-actions{position:absolute;left:5vw;right:5vw;bottom:52px;z-index:3;display:flex;align-items:center;justify-content:center;margin:0}.hero-actions .pill{position:absolute;right:0}.hero-globe{position:absolute;inset:0;transform:rotate(-7deg);filter:none;opacity:.78;animation:globe-breathe 8s ease-in-out infinite}.hero-globe:before{display:none}.hero-globe img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 52%,rgb(0 0 0 / 82%) 68%,transparent 82%);mask-image:radial-gradient(circle at 50% 50%,#000 52%,rgb(0 0 0 / 82%) 68%,transparent 82%)}.map-hero .hero-marker{width:clamp(68px,7vw,180px);left:49%;top:46%}@keyframes globe-breathe{0%,to{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-8px)}}@media(prefers-reduced-motion:reduce){.map-hero .hero-marker{animation:none}}@media(max-width:800px){:root{--nav-height: 72px}html{scroll-padding-top:var(--nav-height)}html.nav-menu-open,html.nav-menu-open body{overflow:hidden;overscroll-behavior:none}.nav{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 max(16px,5vw);background:#fffffff5}.nav .logo{flex:none;min-height:44px;margin-top:0}.nav .logo img{width:104px}.nav>.pill{display:none}.nav-menu-toggle{position:relative;display:block;flex:none;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid color-mix(in srgb,var(--color-heading) 18%,transparent);border-radius:50%;background:transparent;color:var(--color-heading);cursor:pointer}.nav-menu-toggle span{position:absolute;left:13px;width:16px;height:1.5px;border-radius:2px;background:currentColor;transition:top .2s var(--ease-out),transform .2s var(--ease-out)}.nav-menu-toggle span:first-child{top:17px}.nav-menu-toggle span:last-child{top:24px}.nav-menu-toggle:hover,.nav-menu-toggle:focus-visible{border-color:var(--color-accent);color:var(--color-accent);outline:2px solid transparent}.nav.is-menu-open .nav-menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.nav.is-menu-open .nav-menu-toggle span:last-child{top:21px;transform:rotate(-45deg)}.nav>nav{position:fixed;inset:var(--nav-height) 0 0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:100%;height:calc(100dvh - var(--nav-height));min-height:calc(100svh - var(--nav-height));padding:12px 5vw max(20px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line);background:#fff;font-size:clamp(20px,5.4vw,26px);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s}.nav.is-menu-open>nav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}.nav>nav>a,.nav>nav>.lab-nav>summary{justify-content:space-between;width:100%;min-height:48px;padding:6px 2px;border-bottom:1px solid var(--line);white-space:normal}.nav>nav>a[aria-current=page]{color:var(--color-accent)}.nav>nav>.nav-mobile-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:10px 0 0;padding:12px 16px;border:0;border-radius:999px;background:var(--color-accent);color:#fff;font-size:clamp(18px,5vw,22px);font-weight:500}.nav-mobile-cta svg{display:block;flex:none;width:20px;height:20px}.nav-mobile-cta:hover,.nav-mobile-cta:focus-visible{background:var(--color-heading);color:#fff;outline:2px solid var(--color-heading);outline-offset:3px}.lab-nav{width:100%}.lab-chevron{width:22px;height:22px}.lab-dropdown{position:static;display:none;width:100%;padding:8px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:0;transform:none;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none}.lab-nav[open] .lab-dropdown{display:block;opacity:1;transform:none;pointer-events:auto}.lab-dropdown:before{display:none}.lab-dropdown a{gap:6px;min-height:0;padding:12px 14px;border-radius:12px;background:var(--color-bg-soft)}.lab-dropdown a+a{margin-top:6px}.lab-dropdown small{font-size:10px}.lab-dropdown strong{font-size:17px}.lab-dropdown a>span{-webkit-line-clamp:2;font-size:13px;line-height:1.4}.lab-dropdown em{font-size:11px}.hero{min-height:100svh;padding:116px 5vw 112px}.hero>.eyebrow{display:none}.hero h1{max-width:none;margin:28px 0 24px;font-size:clamp(52px,14vw,68px);line-height:.88}.hero>p{max-width:88%;margin-left:0;font-size:clamp(16px,4.4vw,19px);line-height:1.45}.hero .map-hero{width:135vw;right:-70vw;top:auto;bottom:5vh;opacity:.7}.map-hero .hero-marker{display:none}.hero-actions{bottom:30px;flex-direction:column-reverse;gap:16px}.hero-actions .pill{position:static}}@media(max-width:420px){.hero-actions{gap:14px}.hero-actions .pill{padding:13px 16px;font-size:13px}.hero-actions .text-link{font-size:13px}}.bento-section{background:#080808;color:#fff;padding-block:clamp(48px,4.5vw,68px) 10vw}.bento-heading{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:70px}.bento-heading h2{margin:0;color:#fff;font-family:var(--font-heading);font-size:clamp(52px,6vw,92px);line-height:.92;letter-spacing:-.055em}.bento-heading h2 em{color:var(--color-gray);font-style:normal}.bento-heading>p{color:var(--color-gray);line-height:1.5}.bento-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:245px;grid-auto-flow:dense;gap:16px}.skill-card{--pointer-x:50%;--pointer-y:50%;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;padding:26px;border-radius:20px;background:#171717;border:1px solid #242424;transition:translate .24s ease,border-color .24s ease,box-shadow .24s ease}.skill-card:before{content:"";position:absolute;z-index:1;inset:-1px;border-radius:inherit;background:radial-gradient(360px circle at var(--pointer-x) var(--pointer-y),rgb(201 78 67 / 18%),transparent 58%);opacity:0;transition:opacity .3s ease;pointer-events:none}.skill-card:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 55%,rgb(201 78 67 / 10%));pointer-events:none}.skill-card h3{position:relative;z-index:2;margin:0;color:#fff;font:500 clamp(21px,2vw,30px)/1.04 var(--font-heading);letter-spacing:-.025em}.skill-card p{position:relative;z-index:2;margin:11px 0 0;color:#9d9d9d;font-size:14px;line-height:1.35}.skill-card small{position:relative;z-index:2;display:block;margin-bottom:12px;color:#aaa;text-transform:uppercase;letter-spacing:.11em}.card-wide{grid-column:span 2;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:30px}.card-tall{grid-row:span 2;min-height:506px}.skill-icon{position:absolute;left:24px;top:24px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#3a3a3a;color:#fff;font:500 21px var(--font-heading)}.skill-visual-maps{position:absolute;inset:0;overflow:hidden;background:#0c0d0f}.skill-visual-maps:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(8 8 8 / 88%) 0%,rgb(8 8 8 / 48%) 37%,transparent 68%),linear-gradient(0deg,rgb(8 8 8 / 58%),transparent 54%);pointer-events:none}.skill-visual-maps img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center;filter:saturate(.96) brightness(1.72) contrast(1.02)}.card-maps>div:last-child{max-width:330px}.card-maps small,.card-maps h3,.card-maps p{text-shadow:0 2px 8px rgb(0 0 0 / 96%),0 6px 22px rgb(0 0 0 / 88%),0 12px 36px rgb(0 0 0 / 62%)}.card-mobile-app{isolation:isolate;background:radial-gradient(circle at 54% 22%,#272727,#0a0a0a 72%)}.card-mobile-app:after{z-index:3;inset:0;border-radius:inherit;background:linear-gradient(180deg,transparent 30%,rgb(10 10 10 / 82%) 62%,#0a0a0a 78%,#0a0a0a 100%)}.card-mobile-app h3,.card-mobile-app p{z-index:4;text-shadow:0 2px 8px rgb(0 0 0 / 96%),0 6px 22px rgb(0 0 0 / 84%)}.mobile-app-visual{position:absolute;z-index:2;inset:-4% -18% -12%;pointer-events:none;transform:translateY(4%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 88%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 88%)}.mobile-app-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 18px 28px rgb(0 0 0 / 42%))}.card-mobile{isolation:isolate;background:radial-gradient(circle at 50% 20%,#272727,#141414 72%)}.card-mobile:after{z-index:3;background:linear-gradient(180deg,transparent 30%,rgb(12 12 12 / 18%) 52%,#141414 88%)}.card-mobile h3,.card-mobile p{z-index:4}.mobile-phone{--phone-size: 100%;--phone-x: 0%;--phone-y: 1%;position:absolute;z-index:2;inset:0;display:grid;place-items:center;pointer-events:none}.mobile-phone img{display:block;width:var(--phone-size);height:var(--phone-size);object-fit:contain;object-position:center;transform:translate(var(--phone-x),var(--phone-y));filter:drop-shadow(0 18px 28px rgb(0 0 0 / 45%))}.card-cesium{isolation:isolate;background:radial-gradient(circle at 48% 88%,#c94e432e,#171717 62%)}.card-cesium:before{z-index:0;clip-path:none}.card-cesium:after{z-index:1;background:linear-gradient(180deg,transparent 52%,rgb(12 12 12 / 38%) 74%,#121212 96%)}.card-cesium>div:last-child{position:relative;z-index:2}.card-cesium h3{text-shadow:0 1px 2px rgb(0 0 0 / 95%),0 2px 18px rgb(0 0 0 / 90%),0 4px 36px rgb(0 0 0 / 70%),0 0 28px rgb(0 0 0 / 55%)}.card-cesium p{text-shadow:0 1px 2px rgb(0 0 0 / 95%),0 2px 14px rgb(0 0 0 / 92%),0 6px 32px rgb(0 0 0 / 75%),0 0 24px rgb(0 0 0 / 60%)}.skill-visual-terrain{position:absolute;inset:4% 4% 28%;overflow:visible;background:transparent}.skill-visual-terrain img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center center;transform:scale(1.5) translateY(22%);transform-origin:center center;filter:saturate(.92) contrast(1.06) brightness(1.72)}.card-data{isolation:isolate}.card-data:before,.card-data:after{z-index:0}.card-data h3,.card-data p{position:relative;z-index:2;text-shadow:0 2px 18px rgb(0 0 0 / 88%),0 4px 36px rgb(0 0 0 / 62%),0 0 28px rgb(0 0 0 / 48%)}.skill-visual-postgis{position:absolute;z-index:1;inset:-8% -10% -1% 40%;overflow:hidden}.skill-visual-postgis img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(1.2) translate(4%);transform-origin:center;filter:saturate(.82) contrast(1.05) brightness(.9)}.design-art{position:absolute;top:25px;right:25px;width:90px;height:75px}.design-art i{position:absolute;border-radius:10px;background:#fff}.design-art i:nth-child(1){inset:0 35px 25px 0}.design-art i:nth-child(2){inset:20px 0 5px 40px;background:var(--color-accent)}.design-art i:nth-child(3){width:26px;height:26px;left:4px;bottom:0;border-radius:50%;background:#666}.code-art{position:absolute;inset:20px 20px 43% 48%;padding:25px;border-radius:14px;background:linear-gradient(145deg,#252525,#101010);color:var(--color-accent);font:500 24px monospace}.code-art i{display:block;width:80%;height:6px;margin-top:15px;background:#555;border-radius:5px}.code-art i:last-child{width:52%}.skill-visual-frontend{position:absolute;inset:-18px -28px 22% 30%;overflow:hidden;background:#101010;transform:perspective(850px) rotateX(5deg) rotateY(-8deg) rotate(4deg) scale(1.04);transform-origin:58% 48%}.skill-visual-frontend img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.74) contrast(1.04) brightness(.82);transition:transform .24s ease,filter .24s ease}.card-cad{isolation:isolate;container-type:inline-size;background:radial-gradient(circle at 78% 26%,rgb(201 78 67 / 8%),transparent 36%),#0f0f0e}.card-cad:before{z-index:0;background:radial-gradient(150px circle at var(--pointer-x) var(--pointer-y),rgb(201 78 67 / 23%),transparent 72%),radial-gradient(430px circle at var(--pointer-x) var(--pointer-y),rgb(201 78 67 / 13%),transparent 64%)}.card-cad:after{display:none}.card-cad>.cad-copy{position:relative;z-index:4;max-width:310px}.card-cad>.cad-copy h3{text-shadow:0 2px 18px rgb(0 0 0 / 90%),0 4px 36px rgb(0 0 0 / 65%),0 0 28px rgb(0 0 0 / 50%)}.card-cad>.cad-copy p{color:#9d9d9d;text-shadow:0 1px 2px rgb(0 0 0 / 95%),0 2px 14px rgb(0 0 0 / 92%),0 6px 32px rgb(0 0 0 / 75%),0 0 24px rgb(0 0 0 / 60%)}.cad-flow{position:absolute;z-index:2;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.cad-flow-stage{position:absolute;inset:6px -3% 0;transform:translate(2.5%,4%)}.cad-flow-source{position:absolute;z-index:3;top:-10%;left:0;display:grid;width:52%;height:78%;place-items:center;transform:perspective(1000px) translateZ(24px) rotateY(2deg);transform-origin:left center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 86%,transparent 100%),linear-gradient(180deg,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 86%,transparent 100%),linear-gradient(180deg,#000 0%,#000 76%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.cad-flow-source img{position:relative;display:block;width:100%;height:100%;object-fit:contain;object-position:left top;filter:drop-shadow(0 20px 26px rgb(0 0 0 / 44%)) drop-shadow(12px 2px 20px rgb(201 78 67 / 13%)) drop-shadow(0 0 18px rgb(109 155 255 / 20%))}.cad-flow-result{position:absolute;z-index:1;width:100%;height:100%}.cad-flow-target{display:block;width:100%;height:100%;object-fit:contain;object-position:right top;transform:scale(1.1);transform-origin:right top;box-shadow:0 18px 30px #0000005c}.card-cloud{isolation:isolate;background:radial-gradient(circle at 76% 24%,#c94e4324,#171717 62%)}.card-cloud:after{z-index:1;background:linear-gradient(180deg,transparent 28%,rgb(12 12 12 / 24%) 53%,#151515 88%)}.card-cloud h3,.card-cloud p{z-index:2;text-shadow:0 2px 8px rgb(0 0 0 / 96%),0 6px 22px rgb(0 0 0 / 82%)}.card-cloud>.cloud-copy{position:relative;z-index:2;max-width:340px}.cloud-pipeline{position:absolute;z-index:0;inset:0 2% 42%;pointer-events:none}.cloud-pipeline img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 12px 22px rgb(0 0 0 / 42%))}.capability-group{margin-top:clamp(64px,7vw,96px)}.capability-group-head{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(320px,1.15fr) minmax(220px,.7fr);gap:32px;align-items:end;padding-bottom:28px;border-bottom:1px solid rgb(255 255 255 / 22%)}.capability-group-head>span{color:#ea7a6f;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.capability-group-head h3{max-width:620px;margin:0;color:#fff;font:500 clamp(30px,3vw,46px)/1 var(--font-heading);letter-spacing:-.04em}.capability-group-head p{max-width:280px;margin:0;color:#858985;font-size:14px;line-height:1.5}.capability-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.capability-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;min-height:122px;padding:25px 28px 25px 0;border-bottom:1px solid rgb(255 255 255 / 12%)}.capability-list article:nth-child(2n){padding-right:0;padding-left:28px;border-left:1px solid rgb(255 255 255 / 12%)}.capability-list article:last-child:nth-child(odd){grid-column:1/-1;padding-right:0}.capability-list article>span{padding-top:4px;color:#9aa09a;font-size:10px;font-weight:500;letter-spacing:.12em}.capability-list h4{margin:0;color:#e7e9e5;font:500 clamp(18px,1.45vw,22px)/1.15 var(--font-heading);letter-spacing:-.02em}.capability-list p{margin:9px 0 0;color:#828782;font-size:13px;line-height:1.45}html.has-bento-motion .expertise:not(.is-visible) .bento-heading,html.has-bento-motion .expertise:not(.is-visible) .skill-card{opacity:0}html.has-bento-motion .expertise.is-visible .bento-heading{animation:bento-heading-in .6s var(--ease-out) both}html.has-bento-motion .expertise.is-visible .skill-card{animation:bento-card-in .56s var(--ease-out) both;animation-delay:calc(var(--card-index, 0) * 34ms + .11s)}html.has-bento-motion .expertise.is-visible .design-art i{animation:bento-node-in .42s var(--ease-out) both;animation-delay:calc(.3s + var(--card-index, 0) * 34ms + var(--node-index, 0) * 65ms)}@keyframes bento-heading-in{0%{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}@keyframes bento-card-in{0%{opacity:0;transform:translate3d(0,30px,0) scale(.97)}to{opacity:1;transform:none}}@keyframes bento-node-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(hover:hover)and (pointer:fine){.skill-card:hover{z-index:3;translate:0 -7px;border-color:#c94e436b;box-shadow:0 20px 54px #00000057}.skill-card:hover:before{opacity:1}.skill-card:hover .skill-icon{transform:rotate(-7deg) scale(1.08);background:var(--color-accent)}.skill-card:hover .design-art,.skill-card:hover .code-art{transform:translate3d(0,-5px,0)}.skill-card:hover .design-art i:nth-child(2){transform:translate3d(4px,-3px,0)}.skill-card:hover .code-art i{transform:translate3d(5px,0,0)}.skill-card:hover .code-art i:last-child{transform:translate3d(9px,0,0)}.skill-card:hover .skill-visual-frontend{transform:perspective(850px) rotateX(3deg) rotateY(-6deg) rotate(5deg) scale(1.06)}.skill-card:hover .skill-visual-frontend img{transform:scale(1.035);filter:saturate(.9) contrast(1.04) brightness(.9)}}.skill-icon,.design-art,.code-art,.skill-visual{transition:transform .24s ease,background-color .24s ease}.design-art i,.code-art i{transition:transform .22s var(--ease-out)}@media(prefers-reduced-motion:reduce){html.has-bento-motion .expertise .bento-heading,html.has-bento-motion .expertise .skill-card{opacity:1;animation:none;transform:none}html.has-bento-motion .expertise .design-art i{opacity:1;animation:none}.skill-card,.skill-icon,.design-art,.code-art,.skill-visual,.skill-visual img,.design-art i,.code-art i{transition:none}.skill-card:hover{translate:none;box-shadow:none}.skill-card:hover .skill-icon,.skill-card:hover .design-art,.skill-card:hover .code-art{transform:none}.skill-card:hover .skill-visual-frontend{transform:perspective(850px) rotateX(5deg) rotateY(-8deg) rotate(4deg) scale(1.04)}}@media(max-width:1000px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:245px}}@media(max-width:800px){.capability-group-head{grid-template-columns:1fr;gap:16px;align-items:start}.capability-group-head p{max-width:520px}}@media(max-width:620px){.bento-section{padding-block:72px}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:10px}.bento-grid>*{grid-column:span 1!important;grid-row:span 1!important}.bento-grid>.card-wide{grid-column:span 2!important;min-height:210px}.bento-grid>.card-cesium{grid-row:span 2!important;min-height:370px}.skill-card{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:180px;padding:16px;border-radius:15px}.skill-card:hover{translate:0}.skill-card>div:last-child,.skill-card>h3:first-of-type{margin-top:auto;align-self:flex-start;text-align:left}.skill-card h3{font-size:clamp(18px,5.2vw,22px);line-height:1.08}.skill-card p{margin-top:8px;color:#b8b8b8;font-size:13px;line-height:1.4;text-align:left}.skill-card small{margin-bottom:9px;color:#c2c2c2;font-size:11px}.skill-icon{top:16px;left:16px;width:36px;height:36px;font-size:16px}.bento-heading{margin-bottom:38px}.card-wide{flex-direction:column;align-items:flex-start;justify-content:flex-end}.card-maps>div:last-child,.card-data>div:last-child,.card-cad>div:last-child,.card-cesium>div:last-child{max-width:min(100%,280px)}.skill-card:has(.skill-visual):after{background:linear-gradient(180deg,transparent 28%,rgb(8 8 8 / 78%) 100%)}.card-cesium .skill-visual-terrain{inset:4px 6px 78px;overflow:visible}.card-cesium .skill-visual-terrain img{width:100%;height:100%;object-fit:contain;object-position:center center;transform:scale(1.5) translateY(12%);transform-origin:center center}.card-cesium:before{background:radial-gradient(240px circle at var(--pointer-x) var(--pointer-y),rgb(201 78 67 / 18%),transparent 64%)}.mobile-phone{--phone-size:118%;--phone-y:5%}.cloud-pipeline{inset:0 -8% 40%}.design-art{top:16px;right:16px;transform:scale(.72);transform-origin:top right}.code-art{inset:16px 16px 48% 42%;padding:16px;font-size:16px}.skill-visual-frontend{inset:-8px -14px 22% 26%;transform:none}.skill-visual-frontend img{object-position:center}.mobile-app-visual{inset:-4% -18% -14%}.card-cad:after{display:none}.cad-flow-stage{inset:4px -3% 0}.cad-flow-source{width:50%;height:72%}.cad-flow-result{top:0;right:1%;width:100%;height:100%}.cad-flow-source img{filter:drop-shadow(0 11px 14px rgb(0 0 0 / 30%)) drop-shadow(0 0 11px rgb(109 155 255 / 14%))}.bento-grid>.card-data{min-height:260px}.card-data:after{z-index:1;background:linear-gradient(180deg,transparent 42%,rgb(12 12 12 / 42%) 59%,#171717 86%)}.card-data .skill-visual-postgis{inset:-6px -18px 22px 8%}.card-data .skill-visual-postgis img{object-position:center right;transform:translate(12px,10px)}.capability-group{margin-top:56px}.capability-group-head{padding-bottom:22px}.capability-group-head>span{font-size:12px}.capability-group-head h3{font-size:clamp(28px,8vw,38px)}.capability-group-head p{font-size:16px}.capability-list{grid-template-columns:1fr}.capability-list article,.capability-list article:nth-child(2n){min-height:0;padding:21px 0;border-left:0}.capability-list article>span{font-size:12px}.capability-list p{color:#a4a8a2;font-size:15px}}.technologies{position:relative;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.72fr);gap:6vw;padding-block:110px 120px;overflow:clip;background:#111411;color:#fff}.technologies:after{content:"";position:absolute;right:-9vw;bottom:-21vw;width:58vw;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 18px,rgb(201 78 67 / 10%) 19px 20px,transparent 21px 34px);transform:rotate(-16deg);pointer-events:none}.technology-side{align-self:stretch;min-width:0}.technology-side>.eyebrow{margin-bottom:34px}.technology-intro{position:sticky;top:calc(var(--nav-height) + 24px);align-self:start;z-index:1}.technology-intro h2{margin:0 0 28px;font:500 clamp(52px,5.4vw,84px)/.93 var(--font-heading);letter-spacing:-.055em}.technology-intro h2 em{color:#777d77;font-style:normal}.technology-intro>p{max-width:390px;margin:0;color:#aeb1a9;font-size:17px;line-height:1.6}.technology-map{position:relative;z-index:1;border-top:1px solid rgb(255 255 255 / 18%)}.technology-row{display:grid;grid-template-columns:minmax(110px,132px) minmax(0,1fr);align-items:start;gap:28px;min-height:0;padding:28px 0;border-bottom:1px solid rgb(255 255 255 / 14%)}.technology-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:baseline;gap:12px;min-height:36px;padding-top:4px}.technology-label>span{color:var(--color-accent);font:500 14px/1.2 var(--font-heading);letter-spacing:-.02em}.technology-label h3{margin:0;color:#fff;font:500 18px/1.1 var(--font-heading);letter-spacing:-.02em}.technology-row ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));align-content:start;align-items:start;gap:12px 24px;margin:0;padding:0;list-style:none}.technology-row li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:36px;padding:0;color:#d1d4ce;font-size:14px;line-height:1.2;white-space:nowrap;cursor:default}.technology-row li i{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgb(255 255 255 / 8%);border-radius:8px;background:#ffffff0f;font-style:normal}.technology-row li i img{display:block;width:19px;height:19px;object-fit:contain;filter:invert(1);opacity:.72}@media(max-width:1000px){.technologies{grid-template-columns:1fr;gap:58px;padding-block:90px 120px}.technology-intro{position:relative;top:auto}.technology-intro h2 br{display:none}.technology-intro>p{max-width:560px}}@media(max-width:620px){.technologies{gap:45px;padding-block:72px 80px}.technology-side>.eyebrow{margin-bottom:26px}.technology-intro h2{margin:0 0 22px}.technology-row{grid-template-columns:1fr;gap:16px;padding:22px 0}.technology-label{grid-template-columns:auto 1fr;min-height:0;padding-top:0}.technology-row ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.technology-row li{font-size:15px}.technology-label>span{font-size:15px}.technologies:after{width:110vw;right:-50vw;bottom:-10vw}}@media(prefers-contrast:more){.technology-map{border-top-color:#ffffff7a}.technology-row{border-bottom-color:#ffffff6b}.technology-row li{color:#fff}}.founder{padding-block:110px 120px;overflow:hidden;background:var(--color-bg-soft);color:var(--color-heading)}.founder-header{display:flex;flex-direction:column;align-items:center;gap:26px;margin-bottom:54px;text-align:center}.founder-header .eyebrow{align-self:flex-start;justify-content:flex-start}.founder-heading{display:grid;justify-items:center;gap:22px;width:100%}.founder-heading h2{margin:0;font:500 clamp(64px,8vw,122px)/.84 var(--font-heading);letter-spacing:-.065em;white-space:nowrap}.founder-heading p{display:grid;gap:5px;max-width:660px;margin:0;line-height:1.35}.founder-heading p strong{color:var(--color-heading);font:500 clamp(21px,2vw,28px)/1.2 var(--font-heading);letter-spacing:-.025em}.founder-heading p span{color:var(--color-text-light);font-size:16px}.founder-stage{display:grid;grid-template-columns:minmax(270px,.63fr) minmax(0,1.37fr);min-height:520px;overflow:hidden;border-radius:28px;background:#111411;box-shadow:0 35px 85px #00000026}.founder-portrait{position:relative;min-width:0;min-height:520px;margin:0;overflow:hidden;background:#252824}.founder-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgb(0 0 0 / 82%) 100%);pointer-events:none}.founder-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.78) contrast(1.03);transition:transform .7s cubic-bezier(.22,.8,.22,1),filter .4s ease}.founder-stage:hover .founder-portrait img{transform:scale(1.025);filter:saturate(.95) contrast(1.03)}.founder-portrait figcaption{position:absolute;z-index:1;right:30px;bottom:28px;left:30px;display:grid;gap:5px;color:#fff}.founder-portrait strong{font:500 20px var(--font-heading)}.founder-portrait span{color:#b8bbb5;font-size:13px;line-height:1.4}.founder-message{position:relative;display:flex;flex-direction:column;min-width:0;padding:clamp(36px,4vw,58px);color:#fff}.founder-quote-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--color-accent);color:#fff;font:500 46px/.8 Georgia,serif;padding-top:11px}.founder-message blockquote{margin:clamp(28px,3vw,42px) 0 36px}.founder-message blockquote p{max-width:820px;margin:0;color:#fff;font:500 clamp(34px,3.5vw,54px)/1.04 var(--font-heading);letter-spacing:-.048em;text-wrap:balance}.founder-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.founder-trust>span{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 15px;border:1px solid rgb(255 255 255 / 15%);border-radius:999px;background:#ffffff0f;color:#c9ccc5;font-size:14px}.founder-trust i{width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 4px #c94e432e}.founder-trust svg,.founder-trust img{display:block;flex:none;width:22px;height:22px}.founder-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid rgb(255 255 255 / 13%)}.founder-links a{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:12px 15px 12px 18px;border-radius:999px;background:#fff;color:#111411;font-size:13px;font-weight:500;transition:transform .22s ease,background .22s ease,color .22s ease}.founder-links a:last-child{border:1px solid rgb(255 255 255 / 20%);background:transparent;color:#fff}.founder-links a:hover,.founder-links a:focus-visible{transform:translateY(-3px);background:var(--color-accent);color:#fff;outline:none}.founder-links a:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--color-accent)}.founder-links a span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#00000014}.founder-links a:last-child span{background:#ffffff1a}.founder-links .founder-social-link{justify-content:center;gap:5px;min-height:44px;padding:0 15px;border:0;border-radius:4px;color:#fff;font-size:14px}.founder-links .founder-linkedin{background:#2776b5}.founder-links .founder-upwork,.founder-links .founder-upwork:last-child{border:1px solid rgb(255 255 255 / 34%);background:linear-gradient(180deg,#0b0b0b,#000);color:#fff;box-shadow:inset 0 1px #ffffff14,0 9px 24px #00000052}.founder-links .founder-social-link:hover,.founder-links .founder-social-link:focus-visible{color:#fff;transform:translateY(-2px);filter:brightness(1.08)}.founder-links .founder-linkedin:hover,.founder-links .founder-linkedin:focus-visible{background:#2776b5}.founder-links .founder-upwork:hover,.founder-links .founder-upwork:focus-visible{border-color:#ffffff94;background:linear-gradient(180deg,#111,#030303);box-shadow:inset 0 1px #ffffff1f,0 12px 30px #0000006b}.founder-wordmark{display:block;width:auto;height:20px;margin-left:3px}.reviews-header{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin:100px 0 42px}.reviews-header>div>span{color:var(--color-accent);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.reviews-header h3{margin:14px 0 0;font:500 clamp(42px,5vw,72px)/.96 var(--font-heading);letter-spacing:-.05em}.reviews-header>p{max-width:390px;margin:0 0 4px;color:var(--color-text-light);font-size:17px;line-height:1.55}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-card{display:flex;flex-direction:column;min-width:0;min-height:410px;margin:0;padding:32px 5vw 34px 0}.review-card+.review-card{padding-right:0;padding-left:5vw;border-left:1px solid var(--line)}.review-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--color-muted);font-size:11px;letter-spacing:.12em}.review-stars{display:block;width:107px;height:20px;background:var(--color-accent);-webkit-mask:url(/images/icons/stars.svg) center/contain no-repeat;mask:url(/images/icons/stars.svg) center/contain no-repeat}.review-card blockquote{margin:58px 0 46px}.review-card blockquote p{margin:0;color:var(--color-text);font:400 clamp(20px,1.65vw,27px)/1.42 var(--font-body);letter-spacing:-.02em}.review-card figcaption{display:grid;gap:5px;margin-top:auto}.review-card figcaption strong{color:var(--color-heading);font:500 16px var(--font-heading)}.review-card figcaption span{color:var(--color-muted);font-size:12px}@media(max-width:980px){.founder-stage{grid-template-columns:minmax(240px,.67fr) minmax(0,1.33fr);min-height:490px}.founder-portrait{min-height:490px}.founder-message{padding:36px}.founder-message blockquote p{font-size:clamp(32px,4.2vw,43px)}}@media(max-width:700px){.founder{padding-block:76px 82px}.founder-header{gap:20px;margin-bottom:34px}.founder-heading{gap:18px}.founder-heading h2{font-size:clamp(52px,16vw,72px)}.founder-heading p{gap:4px}.founder-heading p strong{font-size:20px}.founder-heading p span{font-size:14px;line-height:1.45}.founder-stage{grid-template-columns:1fr;min-height:0;border-radius:22px}.founder-portrait{min-height:0;aspect-ratio:1.38}.founder-portrait figcaption{right:22px;bottom:20px;left:22px}.founder-message{padding:28px 24px 26px}.founder-quote-mark{width:44px;height:44px;font-size:40px;padding-top:10px}.founder-message blockquote{margin:26px 0 32px}.founder-message blockquote p{font-size:clamp(30px,9.2vw,42px);line-height:1.06}.founder-trust{gap:8px}.founder-trust>span{font-size:13px}.founder-links{display:grid;margin-top:18px;padding-top:18px}.founder-links a{width:100%;min-height:50px}.reviews-header{grid-template-columns:1fr;margin:74px 0 30px}.reviews-header>p{font-size:16px}.reviews-grid{grid-template-columns:1fr}.review-card,.review-card+.review-card{min-height:0;padding:28px 0 34px;border-left:0}.review-card+.review-card{border-top:1px solid var(--line)}.review-card blockquote{margin:38px 0}.review-card blockquote p{font-size:20px}}@media(prefers-reduced-motion:reduce){.founder-portrait img,.founder-links a{transition:none}.founder-stage:hover .founder-portrait img{transform:none}}.contact{min-height:100vh;padding-block:clamp(96px,10vw,140px) 80px}.contact>.contact-main{position:relative;display:contents}.circle-link{isolation:isolate;overflow:hidden;will-change:transform;transition:box-shadow .32s var(--ease-out),transform .32s var(--ease-out)}.circle-link:before{content:"";position:absolute;z-index:-2;inset:0;border-radius:inherit;background:var(--color-heading);box-shadow:inset -20px -16px 44px #0000008c,inset 16px 12px 34px #ffffff12;transform:translateY(100%);transition:transform .42s var(--ease-out)}.circle-link:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:url(/images/globe-light-800.webp) 62% center / 132% auto no-repeat;filter:invert(1) brightness(3.4);mix-blend-mode:screen;opacity:0;transition:opacity .34s ease .12s}.circle-link:hover:before,.circle-link:focus-visible:before{transform:translateY(0)}.circle-link:hover:after,.circle-link:focus-visible:after{opacity:.8;animation:globe-drift 9s ease-in-out infinite alternate}.circle-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}@keyframes globe-drift{to{background-position:38% center}}.contact .circle-link{top:38%;bottom:auto;transform:translateY(-50%)}.contact .circle-link:hover,.contact .circle-link:focus-visible{transform:translateY(-50%) scale(1.04);box-shadow:0 0 0 8px #c94e431f,0 18px 38px #0000002e}.contact .circle-link:active{transform:translateY(-50%) scale(.99);transition-duration:.12s}@media(min-width:801px){.contact>.contact-main{display:block;width:100%;max-width:var(--content-max);margin-inline:0;padding-inline:0}.contact .circle-link{right:0}}.client-trust{position:relative;display:grid;justify-items:center;gap:24px;width:100vw;max-width:100vw;margin:clamp(70px,8vw,125px) calc(50% - 50vw) -80px;padding:46px max(var(--page-gutter),calc((100% - var(--content-max)) / 2)) 38px;border-top:1px solid rgb(255 255 255 / 28%);background:#111;color:#fff}.client-trust-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));align-items:center;width:min(100%,1100px);gap:clamp(30px,4vw,72px)}.client-trust-row a{display:flex;align-items:center;justify-content:center;min-width:0;opacity:.72;filter:grayscale(1) brightness(0) invert(1);transition:opacity .2s ease,transform .2s ease}.client-trust-row a:hover{opacity:1;transform:translateY(-2px)}.client-trust-row img{display:block;width:100%;max-width:190px;height:48px;object-fit:contain}.client-trust-more{display:flex;align-items:center;gap:7px;color:#b9bbb7;font-size:13px}.client-trust-more span{color:var(--color-accent)}@media(max-width:800px){.contact{width:100vw;min-height:0;margin-inline:calc(50% - 50vw);padding:0;background:#fff}.contact>.contact-main{position:relative;display:flex;flex-direction:column;width:100%;min-height:100svh;padding:90px 5vw 70px}.contact .circle-link{position:absolute;inset:56% auto auto 50%;margin:0;transform:translate(-50%,-50%)}.contact .circle-link:before,.contact .circle-link:after{content:none}.contact .circle-link:hover,.contact .circle-link:focus-visible{transform:translate(-50%,-50%) scale(1.04)}.contact .circle-link:active{transform:translate(-50%,-50%) scale(.99)}.client-trust{width:100%;margin:0;padding-block:42px 34px}.client-trust-row{grid-template-columns:repeat(2,1fr);gap:32px 38px}.client-trust-row img{height:42px}}@media(max-width:440px){.client-trust-row{grid-template-columns:1fr}.client-trust-row img{height:42px}}@media(prefers-reduced-motion:reduce){.circle-link,.circle-link:before,.circle-link:after{transition:none}.circle-link:hover:after,.circle-link:focus-visible:after{animation:none}.contact .circle-link:hover,.contact .circle-link:focus-visible,.contact .circle-link:active{transform:translateY(-50%)}@media(max-width:800px){.contact .circle-link:hover,.contact .circle-link:focus-visible,.contact .circle-link:active{transform:translate(-50%,-50%)}}}.site-footer{display:grid;grid-template-columns:minmax(250px,1fr) minmax(360px,auto);align-items:start;gap:32px 7vw;padding-block:42px 22px;border-top:1px solid var(--line);background:var(--color-bg-footer);color:var(--color-heading);font-size:14px}.site-footer p,.site-footer p:last-child{margin:0;text-align:left}.footer-brand{display:grid;justify-items:start;gap:14px}.footer-brand .logo img{width:154px}.footer-brand p{color:var(--color-text-light);font-size:16px;line-height:1.45}.footer-actions{display:grid;justify-items:start;align-content:start;gap:16px}.footer-social{display:flex;align-items:center;gap:10px}.footer-social a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;opacity:.88;transition:opacity .2s ease,transform .2s ease}.footer-social a:hover,.footer-social a:focus-visible{opacity:1;transform:translateY(-1px)}.footer-social img{display:block;width:32px;height:32px}.footer-meta{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:clamp(30px,5vw,70px)}.footer-details{display:grid;align-content:start;gap:12px;color:var(--color-text-light);line-height:1.5}.footer-links{display:grid;justify-items:start;align-content:start;gap:13px}.footer-links a{padding-bottom:3px;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}.footer-links a:hover{border-color:var(--color-accent);color:var(--color-accent)}.footer-links span{color:var(--color-accent)}.site-footer .footer-copyright{grid-column:1/-1;padding-top:16px;border-top:1px solid var(--line);color:#777;font-size:12px;text-align:left}@media(max-width:700px){.site-footer{grid-template-columns:1fr;gap:24px;padding-block:34px 20px}.footer-meta{grid-template-columns:1fr;gap:22px}.site-footer .footer-copyright{margin-top:0}}@media(max-width:440px){.footer-brand .logo img{width:138px}.footer-meta{gap:18px}.site-footer .footer-copyright{grid-column:auto}}.all-cases-bridge{display:flex;align-items:center;min-height:clamp(440px,54vw,680px);padding-block:clamp(82px,10vw,140px);background:#f3f0eb}.all-cases-minimal{display:flex;flex-direction:column;align-items:center;gap:clamp(48px,6vw,76px);width:100%;text-align:center}.all-cases-minimal h2{margin:0;color:var(--color-heading);font:500 clamp(72px,10vw,154px)/.82 var(--font-heading);letter-spacing:-.075em}.all-cases-minimal h2 em{color:var(--color-accent);font-style:normal}.all-cases-minimal a{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:42px;width:min(100%,360px);min-height:68px;padding:10px 11px 10px 26px;border-radius:999px;overflow:hidden;background:var(--color-heading);color:#fff;font-size:16px;font-weight:500;transition:transform .25s var(--ease-out),box-shadow .25s ease}.all-cases-minimal a:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--color-accent);transform:scaleX(0);transform-origin:left center;transition:transform .42s var(--ease-out)}.all-cases-minimal a>b{font-weight:500;transition:transform .3s var(--ease-out)}.all-cases-minimal a>span{position:relative;display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border-radius:50%;background:var(--color-accent);color:#fff;transition:background .28s ease,color .28s ease}.all-cases-minimal svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease-out)}.all-cases-minimal a>span svg{grid-area:1/1}.all-cases-minimal a>span svg:last-child{transform:translate(-190%)}.all-cases-minimal a:hover,.all-cases-minimal a:focus-visible{box-shadow:0 14px 32px #3614102e;transform:translateY(-3px)}.all-cases-minimal a:hover:before,.all-cases-minimal a:focus-visible:before{transform:scaleX(1)}.all-cases-minimal a:hover>b,.all-cases-minimal a:focus-visible>b{transform:translate(4px)}.all-cases-minimal a:hover>span,.all-cases-minimal a:focus-visible>span{background:#fff;color:var(--color-accent)}.all-cases-minimal a:hover>span svg:first-child,.all-cases-minimal a:focus-visible>span svg:first-child{transform:translate(190%)}.all-cases-minimal a:hover>span svg:last-child,.all-cases-minimal a:focus-visible>span svg:last-child{transform:translate(0)}.all-cases-minimal a:active{transform:translateY(-1px);transition-duration:.12s}.all-cases-minimal a:focus-visible{outline:2px solid var(--color-heading);outline-offset:4px}@media(max-width:800px){.all-cases-bridge{min-height:0}}@media(max-width:520px){.all-cases-bridge{padding-block:72px}.all-cases-minimal{gap:38px}.all-cases-minimal h2{font-size:clamp(62px,19vw,88px)}.all-cases-minimal a{width:auto;min-height:44px;padding:4px 0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--color-heading);font-size:15px;gap:14px;overflow:visible}.all-cases-minimal a:before{display:none}.all-cases-minimal a>span{width:auto;height:auto;overflow:visible;border-radius:0;background:transparent;color:var(--color-accent)}.all-cases-minimal a>span svg:last-child{display:none}.all-cases-minimal a:hover,.all-cases-minimal a:focus-visible{box-shadow:none;color:var(--color-accent);transform:none}.all-cases-minimal a:hover>b,.all-cases-minimal a:focus-visible>b{transform:none}.all-cases-minimal a:hover>span,.all-cases-minimal a:focus-visible>span{background:transparent;color:var(--color-accent)}.all-cases-minimal a:hover>span svg:first-child,.all-cases-minimal a:focus-visible>span svg:first-child{transform:translate(3px)}.all-cases-minimal a:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}}@media(prefers-reduced-motion:reduce){.all-cases-minimal a,.all-cases-minimal a:before,.all-cases-minimal a>b,.all-cases-minimal svg{transition:none}.all-cases-minimal a:hover,.all-cases-minimal a:focus-visible{transform:none}.all-cases-minimal a:hover>b,.all-cases-minimal a:focus-visible>b{transform:none}}.device{cursor:zoom-in}.device:focus-visible{outline:3px solid var(--color-accent);outline-offset:8px}.preview-close{display:none}body.preview-open{overflow:hidden}html.preview-open,body.preview-open{overscroll-behavior-x:none}.device-wrap.is-expanded{position:fixed;z-index:1000;inset:0;width:100vw;height:100dvh;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:4vh 4vw;overflow:hidden;overscroll-behavior:none;background:#000000e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);perspective:1800px}.device-wrap.is-expanded .device{width:min(80vw,calc(80dvh * 16 / 9));max-width:none;max-height:80dvh;padding:0;border-radius:18px;background:#080808;transform:none!important;cursor:default;box-shadow:none}.device-wrap.is-expanded .device-top{display:none}.device-wrap.is-expanded .device .screen{border:0;border-radius:18px}.audio-feature .device-wrap.is-expanded .device{width:min(80vw,calc(80dvh * 2891 / 1839));aspect-ratio:2891 / 1839}.airport-device-wrap.is-expanded .airport-device{width:min(80vw,calc(80dvh * 4 / 3));aspect-ratio:4 / 3}.device-wrap.is-expanded .audio-slides,.device-wrap.is-expanded .recycle-slides,.device-wrap.is-expanded .airport-slides{height:100%;margin-top:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:none;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;transform:none!important}.device-wrap.is-expanded .audio-slides::-webkit-scrollbar,.device-wrap.is-expanded .recycle-slides::-webkit-scrollbar,.device-wrap.is-expanded .airport-slides::-webkit-scrollbar{display:none}.device-wrap.is-expanded .audio-slides>*,.device-wrap.is-expanded .recycle-slides>*,.device-wrap.is-expanded .airport-slides>*{scroll-snap-align:start;scroll-snap-stop:normal}.device-wrap.is-expanded .audio-slides img,.device-wrap.is-expanded .recycle-slides img,.device-wrap.is-expanded .airport-slides img{object-fit:contain;background:#080808}.device-wrap.is-expanded .screen-switcher{position:relative;left:auto;bottom:auto;flex:none;margin-top:0;transform:none}.device-wrap.is-expanded .drag{display:none}.device-wrap.is-expanded .preview-close{display:grid;place-items:center;position:absolute;z-index:8;top:22px;right:25px;width:48px;height:48px;padding:0 0 5px;border:1px solid rgb(255 255 255 / 28%);border-radius:50%;background:#141414b3;color:#fff;font:300 34px/1 var(--font-body);cursor:pointer}.device[data-preview-device="1"]{view-transition-name:device-preview-one}.device[data-preview-device="2"]{view-transition-name:device-preview-two}.device[data-preview-device="3"]{view-transition-name:device-preview-three}::view-transition-group(device-preview-one),::view-transition-group(device-preview-two),::view-transition-group(device-preview-three){animation-duration:.72s;animation-timing-function:cubic-bezier(.2,.85,.2,1)}@media(max-width:800px){.device-wrap.is-expanded{gap:16px;padding:6vh 4vw}.device-wrap.is-expanded .device{width:min(92vw,128dvh);max-height:72dvh;aspect-ratio:16 / 9;border-radius:14px}.device-wrap.is-expanded .device .screen{border-radius:14px}.audio-feature .device-wrap.is-expanded .device{width:min(92vw,calc(72dvh * 2891 / 1839));aspect-ratio:2891 / 1839}.airport-device-wrap.is-expanded .airport-device{width:min(92vw,96dvh);aspect-ratio:4 / 3}.device-wrap.is-expanded .preview-close{top:18px;right:18px}}@media(prefers-reduced-motion:reduce){::view-transition-group(device-preview-one),::view-transition-group(device-preview-two),::view-transition-group(device-preview-three){animation-duration:0s}.device-wrap.is-expanded .audio-slides,.device-wrap.is-expanded .recycle-slides,.device-wrap.is-expanded .airport-slides{scroll-behavior:auto}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.device-poster img{display:block;width:100%;height:100%;object-fit:contain}.process .process-eyebrow,.process .process-head p{color:#0a0303}.process .steps article ul li,.process .steps article:not(.process-consultation) p{color:#fff}.site-footer .footer-copyright{color:#6a6a6a}.client-trust-more span{color:#ea7a6f}.site-footer .footer-links a span{color:#b3433a}.reviews-header>div>span{color:#b3433a}
