/* Google Fonts (no local static match found for the wordmark's rounded stencil-style
   display face, see readme.md "Typography" caveat). Loaded via @import so the
   @font-face rules stay inside styles.css's import closure. */
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/d3340bc6-4a73-40a1-871f-074711f67fa6.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/acbe5172-3fb3-4d3d-8b6e-e663efceec94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/9881c7cb-7661-4e32-88fc-3176068b0bd2.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/3dd8f5b2-2c33-476f-a39e-65bde27e2536.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/22a313a8-4690-44f8-9aac-b2eddf1ee9fc.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/45063d7e-f9b9-4920-8a36-9b3cf86d97cd.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/d3340bc6-4a73-40a1-871f-074711f67fa6.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/acbe5172-3fb3-4d3d-8b6e-e663efceec94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/9881c7cb-7661-4e32-88fc-3176068b0bd2.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/3dd8f5b2-2c33-476f-a39e-65bde27e2536.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/22a313a8-4690-44f8-9aac-b2eddf1ee9fc.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/45063d7e-f9b9-4920-8a36-9b3cf86d97cd.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/d3340bc6-4a73-40a1-871f-074711f67fa6.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/acbe5172-3fb3-4d3d-8b6e-e663efceec94.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/9881c7cb-7661-4e32-88fc-3176068b0bd2.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/3dd8f5b2-2c33-476f-a39e-65bde27e2536.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/22a313a8-4690-44f8-9aac-b2eddf1ee9fc.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/45063d7e-f9b9-4920-8a36-9b3cf86d97cd.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/f3f2e7b8-8e12-43b0-afdf-c16cc7089087.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/08dba936-59d4-4559-89c7-7de13b0256fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/80cd4929-e579-4349-ad7b-aa04e6d1a5eb.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/496fdd01-20cb-41af-a09c-4409701afda6.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/7efa523a-f26e-42ea-9dfe-eb4dffff9597.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/1a10587b-69b4-4fdd-b8ab-e3b28fe2c019.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/f3f2e7b8-8e12-43b0-afdf-c16cc7089087.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/08dba936-59d4-4559-89c7-7de13b0256fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/80cd4929-e579-4349-ad7b-aa04e6d1a5eb.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/496fdd01-20cb-41af-a09c-4409701afda6.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/7efa523a-f26e-42ea-9dfe-eb4dffff9597.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/1a10587b-69b4-4fdd-b8ab-e3b28fe2c019.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/f3f2e7b8-8e12-43b0-afdf-c16cc7089087.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/08dba936-59d4-4559-89c7-7de13b0256fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/80cd4929-e579-4349-ad7b-aa04e6d1a5eb.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/496fdd01-20cb-41af-a09c-4409701afda6.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/7efa523a-f26e-42ea-9dfe-eb4dffff9597.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/1a10587b-69b4-4fdd-b8ab-e3b28fe2c019.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/f3f2e7b8-8e12-43b0-afdf-c16cc7089087.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/08dba936-59d4-4559-89c7-7de13b0256fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/80cd4929-e579-4349-ad7b-aa04e6d1a5eb.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/496fdd01-20cb-41af-a09c-4409701afda6.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/7efa523a-f26e-42ea-9dfe-eb4dffff9597.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/1a10587b-69b4-4fdd-b8ab-e3b28fe2c019.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/33935b73-94e8-4f8c-87e8-c34ef0119979.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/389d1fcd-283c-4e9b-808d-030f936e2f43.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/f188bc7c-5f15-4933-9809-133a04aadf70.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/33935b73-94e8-4f8c-87e8-c34ef0119979.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/389d1fcd-283c-4e9b-808d-030f936e2f43.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/f188bc7c-5f15-4933-9809-133a04aadf70.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/33935b73-94e8-4f8c-87e8-c34ef0119979.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/389d1fcd-283c-4e9b-808d-030f936e2f43.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/f188bc7c-5f15-4933-9809-133a04aadf70.woff2") format('woff2');
  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;
}
/* vietnamese */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/33935b73-94e8-4f8c-87e8-c34ef0119979.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/389d1fcd-283c-4e9b-808d-030f936e2f43.woff2") format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/f188bc7c-5f15-4933-9809-133a04aadf70.woff2") format('woff2');
  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 {
 /* ---- Brand base ---- */
 --blue-50: #eaf2fd;
 --blue-100: #cfe2fb;
 --blue-200: #9dc4f6;
 --blue-300: #64a1ef;
 --blue-400: #2e7ce6;
 --blue-500: #0051b8; /* brand blue - from wordmark */
 --blue-600: #00449a;
 --blue-700: #01377c;
 --blue-800: #052a5e;
 --blue-900: #0b2f59; /* navy - from "IT Solutions" lockup text */

 --orange-50: #fdf3e2;
 --orange-100: #fbe1b4;
 --orange-200: #f7c579;
 --orange-300: #f2a83f;
 --orange-400: #e7870f; /* brand orange - from wordmark "110" */
 --orange-500: #c86f04;
 --orange-600: #a25802;

 /* ---- Spectrum accents (from the butterfly mark) ---- */
 --spectrum-magenta: #d6005e;
 --spectrum-sky: #518ffa;
 --spectrum-teal: #70d9cf;
 --spectrum-coral: #f74f33;
 --spectrum-green: #75fd2e;

 /* ---- Neutrals: navy-tinted gray scale ---- */
 --gray-0: #ffffff;
 --gray-25: #f7f9fc;
 --gray-50: #eef2f7;
 --gray-100: #e2e8f1;
 --gray-200: #cbd5e3;
 --gray-300: #a9b8cc;
 --gray-400: #8093ab;
 --gray-500: #5f7189;
 --gray-600: #48566d;
 --gray-700: #364256;
 --gray-800: #232c3d;
 --gray-900: #131a28;

 /* ---- Semantic: surfaces ---- */
 --surface-page: var(--gray-25);
 --surface-card: var(--gray-0);
 --surface-sunken: var(--gray-50);
 --surface-inverse: var(--blue-900);
 --surface-brand: var(--blue-500);
 --surface-overlay: rgba(11, 47, 89, 0.55);

 /* ---- Semantic: text ---- */
 --text-primary: var(--gray-900);
 --text-secondary: var(--gray-600);
 --text-muted: var(--gray-400);
 --text-on-brand: #ffffff;
 --text-link: var(--blue-500);
 --text-link-hover: var(--blue-600);

 /* ---- Semantic: borders ---- */
 --border-subtle: var(--gray-100);
 --border-default: var(--gray-200);
 --border-strong: var(--gray-300);
 --border-focus: var(--blue-400);

 /* ---- Semantic: actions ---- */
 --action-primary: var(--blue-500);
 --action-primary-hover: var(--blue-600);
 --action-primary-active: var(--blue-700);
 --action-accent: var(--orange-400);
 --action-accent-hover: var(--orange-500);

 /* ---- Semantic: feedback ---- */
 --feedback-success: #1f9d5a;
 --feedback-success-bg: #e6f6ee;
 --feedback-warning: var(--orange-400);
 --feedback-warning-bg: var(--orange-50);
 --feedback-danger: #d6284a;
 --feedback-danger-bg: #fce9ec;
 --feedback-info: var(--spectrum-sky);
 --feedback-info-bg: #eaf1ff;
}


:root {
  --font-display: 'Manrope', 'Segoe UI', sans-serif;
  --font-body: 'Public Sans', 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;

  /* Type scale (1.25 major-third-ish, tuned) */
  --text-display-xl: 700 4.5rem/1.05 var(--font-display);
  --text-display-lg: 700 3.375rem/1.08 var(--font-display);
  --text-display-md: 700 2.5rem/1.12 var(--font-display);
  --text-display-sm: 700 1.875rem/1.2 var(--font-display);

  --text-heading-lg: 600 1.5rem/1.3 var(--font-display);
  --text-heading-md: 600 1.25rem/1.35 var(--font-display);
  --text-heading-sm: 600 1.0625rem/1.4 var(--font-display);

  --text-body-lg: 400 1.125rem/1.6 var(--font-body);
  --text-body-md: 400 1rem/1.6 var(--font-body);
  --text-body-sm: 400 0.875rem/1.55 var(--font-body);
  --text-body-md-medium: 500 1rem/1.6 var(--font-body);

  --text-caption: 500 0.75rem/1.4 var(--font-body);
  --text-overline: 700 0.6875rem/1.3 var(--font-body);

  --text-mono-md: 400 0.9375rem/1.6 var(--font-mono);
  --text-mono-sm: 400 0.8125rem/1.5 var(--font-mono);

  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-overline: 0.08em;
}


:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  --container-max: 1240px;
  --container-narrow: 760px;
}


:root {
  --shadow-xs: 0 1px 2px rgba(11, 26, 40, 0.06);
  --shadow-sm: 0 2px 6px rgba(11, 26, 40, 0.08);
  --shadow-md: 0 8px 20px rgba(11, 26, 40, 0.10);
  --shadow-lg: 0 20px 48px rgba(11, 26, 40, 0.14);
  --shadow-focus-ring: 0 0 0 3px rgba(46, 124, 230, 0.35);
  --shadow-brand-glow: 0 12px 32px rgba(0, 81, 184, 0.22);

  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */
}



    html, body { margin: 0; padding: 0; background: #050f1e; font-family: 'Public Sans', sans-serif; }
    a { color: #8fb8ef; text-decoration: none; transition: color 0.2s ease; }
    a:hover { color: #ffffff; }
    @keyframes heroRise { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes glowPulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 0.9; } }
    @keyframes drift { 0%, 100% { transform: translate(0, 0); } 33% { transform: translate(14px, -22px); } 66% { transform: translate(-10px, -8px); } }
    @keyframes twinkle { 0%, 100% { opacity: 0.15; } 50% { opacity: 0.85; } }
    @keyframes bubbleFloat { 0%, 100% { transform: translate(0, 0) scale(1); } 40% { transform: translate(18px, -30px) scale(1.06); } 75% { transform: translate(-14px, -12px) scale(0.97); } }
    @keyframes modalIn { from { opacity: 0; transform: translateY(22px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
    @keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    @media (max-width: 840px) {
      [data-desktop-nav] { display: none !important; }
      [data-hamburger] { display: flex !important; }
      [data-logo-col] { width: 100% !important; margin: 0 auto !important; justify-content: center !important; }
      [data-logo-col] > div { left: 50% !important; margin-left: 0 !important; }
      [data-training-row] { grid-template-columns: 40px 1fr !important; row-gap: 4px !important; }
      [data-training-meta] { grid-column: 1 / -1 !important; text-align: left !important; padding-top: 0 !important; margin-top: 6px !important; display: flex !important; gap: 14px !important; }
    }
    @media (max-width: 520px) {
      [data-form-overlay] { padding: 12px !important; align-items: flex-end !important; }
      [data-form-modal] { padding: 28px 20px 32px !important; border-radius: 18px !important; max-height: 94vh !important; }
      [data-form-modal] h2 { font-size: 23px !important; }
    }
    ::selection { background: #0051b8; color: #fff; }
  