/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-1.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-4.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-5.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-6.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-7.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-1.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-4.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-5.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-6.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-7.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-1.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-4.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-5.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-6.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-7.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-1.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-4.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-5.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-6.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-7.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-1.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-3.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-4.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-5.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-6.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: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-7.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-8.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: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-8.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: 'Sora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-8.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: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-8.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: 'Sora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-9.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;
}
/* latin-ext */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-8.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: 'Sora';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/fonts/inter-9.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-10.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-11.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-12.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-10.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-11.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/inter-12.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-10.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-11.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/inter-12.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-10.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-11.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: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/inter-12.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;
}


/* ============================================================
   Quickzii — Color Tokens
   Anchored on the violet brand mark sampled from the logo.
   Primary ink ≈ #7A40F0, deepening to #5A1FCC, lifting to #9D6BFF.
   ============================================================ */
:root {
  /* ---- Brand violet scale ---- */
  --violet-50:  #F5F1FE;
  --violet-100: #ECE4FE;
  --violet-200: #DBC9FC;
  --violet-300: #C0A4FA;
  --violet-400: #9D6BFF; /* highlight on the arrow */
  --violet-500: #7A40F0; /* PRIMARY brand */
  --violet-600: #6A2BE6;
  --violet-700: #5A1FCC; /* deep base of the mark */
  --violet-800: #471BA0;
  --violet-900: #2E1065;

  /* ---- Ink / purple-tinted neutrals (strong violet cast) ---- */
  --ink-950: #0E0726;
  --ink-900: #150B33;
  --ink-800: #1F134A;
  --ink-700: #2E1E62;
  --ink-600: #402E7A;
  --ink-500: #574293;
  --ink-400: #7C66B0;
  --ink-300: #A998D6;
  --ink-200: #D2C6EE;
  --ink-100: #E9E2F8;
  --ink-50:  #F5F1FD;

  /* ---- Pure / surface bases ---- */
  --white: #FFFFFF;
  --off-white: #F7F7FB;
  --violet-tint: #F6F2FE;

  /* ---- Supporting accents (used sparingly) ---- */
  --signal-500: #1FC8D8; /* live tracking / data dots */
  --signal-400: #4FD8E6;
  --positive-500: #14B86A; /* up-trend, success */
  --positive-50:  #E5F8EF;
  --warning-500: #F5A524;

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */
  /* Text */
  --text-strong:   var(--ink-900);
  --text-heading:  var(--ink-800);
  --text-body:     var(--ink-600);
  --text-muted:    var(--ink-400);
  --text-on-brand: var(--white);
  --text-on-ink:   #EDEBF6;
  --text-brand:    var(--violet-600);

  /* Surfaces */
  --surface-page:    var(--white);
  --surface-subtle:  var(--off-white);
  --surface-violet:  var(--violet-tint);
  --surface-card:    var(--white);
  --surface-ink:     #2A1568;
  --surface-ink-2:   #38207F;

  /* Brand actions */
  --brand:        var(--violet-500);
  --brand-hover:  var(--violet-600);
  --brand-press:  var(--violet-700);
  --brand-deep:   var(--violet-700);
  --brand-light:  var(--violet-400);
  --brand-subtle: var(--violet-50);

  /* Borders / dividers */
  --border-subtle:  var(--ink-100);
  --border-default: var(--ink-200);
  --border-strong:  var(--ink-300);
  --border-on-ink:  rgba(255,255,255,0.10);

  /* Focus ring */
  --focus-ring: rgba(122,64,240,0.45);

  /* Brand gradient (mirrors the logo: deep → light, bottom-left to top-right) */
  --grad-brand: linear-gradient(120deg, #5A1FCC 0%, #7A40F0 52%, #9D6BFF 100%); /* @kind color */
  --grad-brand-soft: linear-gradient(135deg, #7A40F0 0%, #9D6BFF 100%); /* @kind color */
  --grad-ink: linear-gradient(160deg, #232159 0%, #16143C 64%, #100E2C 100%); /* @kind color */
  --grad-violet-wash: linear-gradient(180deg, #FFFFFF 0%, #F6F2FE 100%); /* @kind color */
}

/* ============================================================
   Quickzii — Typography Tokens
   Display / headings:  Sora        (geometric, confident, logistics-tech)
   Body / UI:           Inter       (clean, neutral, highly legible)
   Micro labels / nums: Space Grotesk (eyebrows, kpi captions)
   NOTE: fonts are loaded from Google Fonts (see fonts/fonts.css).
   They are professional stand-ins; the Quickzii wordmark itself
   stays as supplied artwork (assets/quickzii-logo*.png).
   ============================================================ */
:root {
  --font-display: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'Space Grotesk', 'Sora', ui-monospace, monospace;

  /* Weights */
  --fw-regular: 400; /* @kind other */
  --fw-medium:  500; /* @kind other */
  --fw-semibold: 600; /* @kind other */
  --fw-bold:    700; /* @kind other */
  --fw-extra:   800; /* @kind other */

  /* Fluid type scale (min → max via clamp), 1.25-ish major-third rhythm */
  --text-display-2xl: clamp(3.25rem, 1.6rem + 6.4vw, 5.5rem); /* @kind other */
  --text-display-xl:  clamp(2.5rem, 1.5rem + 4vw, 4rem); /* @kind other */
  --text-display-lg:  clamp(2rem, 1.4rem + 2.6vw, 3rem); /* @kind other */
  --text-h2:          clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem); /* @kind other */
  --text-h3:          clamp(1.25rem, 1.05rem + 0.8vw, 1.5rem); /* @kind other */
  --text-h4:          1.125rem; /* @kind other */
  --text-lead:        clamp(1.075rem, 1rem + 0.45vw, 1.3rem); /* @kind other */
  --text-body-lg:     1.0625rem; /* @kind other */
  --text-body:        1rem; /* @kind other */
  --text-sm:          0.9375rem; /* @kind other */
  --text-xs:          0.8125rem; /* @kind other */
  --text-eyebrow:     0.78rem; /* @kind other */

  /* Line heights */
  --lh-tight:   1.04; /* @kind other */
  --lh-snug:    1.16; /* @kind other */
  --lh-heading: 1.22; /* @kind other */
  --lh-body:    1.62; /* @kind other */
  --lh-relaxed: 1.72; /* @kind other */

  /* Letter spacing */
  --ls-tighter: -0.03em; /* @kind other */
  --ls-tight:   -0.018em; /* @kind other */
  --ls-normal:  0em; /* @kind other */
  --ls-eyebrow: 0.16em; /* @kind other */
  --ls-wide:    0.04em; /* @kind other */

  /* Semantic roles */
  --role-eyebrow-size: var(--text-eyebrow);
  --role-eyebrow-weight: var(--fw-semibold);
}

/* ============================================================
   Quickzii — Spacing, Radius & Layout Tokens
   8px base grid with a few 4px half-steps for fine control.
   ============================================================ */
:root {
  /* Spacing scale */
  --space-0:  0;
  --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;
  --space-40: 160px;

  /* Section rhythm */
  --section-y: clamp(72px, 8vw, 136px); /* @kind spacing */
  --section-y-tight: clamp(48px, 5vw, 80px); /* @kind spacing */

  /* Container widths */
  --container: 1200px;
  --container-wide: 1320px;
  --container-narrow: 860px;
  --gutter: clamp(20px, 5vw, 64px); /* @kind spacing */

  /* Radii — generous, rounded, premium (echoes the soft logo) */
  --radius-xs:  6px;
  --radius-sm:  10px;
  --radius-md:  14px;
  --radius-lg:  20px;
  --radius-xl:  28px;
  --radius-2xl: 36px;
  --radius-pill: 999px;

  /* Control sizing */
  --control-h-sm: 40px;
  --control-h-md: 48px;
  --control-h-lg: 56px;
}

/* ============================================================
   Quickzii — Effects: shadows, blur, motion
   Soft, low-spread, violet-tinted shadows. Premium not heavy.
   ============================================================ */
:root {
  /* Elevation — shadows carry a faint violet tint, never pure black */
  --shadow-xs:  0 1px 2px rgba(20,16,45,0.06);
  --shadow-sm:  0 2px 8px rgba(20,16,45,0.06);
  --shadow-md:  0 10px 24px -8px rgba(30,20,70,0.12), 0 2px 6px rgba(30,20,70,0.05);
  --shadow-lg:  0 22px 48px -16px rgba(36,22,82,0.18), 0 4px 12px rgba(36,22,82,0.06);
  --shadow-xl:  0 40px 80px -28px rgba(36,22,82,0.28), 0 8px 24px rgba(36,22,82,0.08);
  --shadow-brand: 0 16px 40px -12px rgba(122,64,240,0.45);
  --shadow-brand-sm: 0 8px 20px -8px rgba(122,64,240,0.40);

  /* Inset / ring helpers */
  --ring-inset: inset 0 0 0 1px rgba(255,255,255,0.6);
  --hairline: inset 0 0 0 1px var(--border-subtle);

  /* Blur */
  --blur-sm: 8px; /* @kind other */
  --blur-md: 18px; /* @kind other */
  --blur-lg: 40px; /* @kind other */

  /* Motion — premium easing. Smooth, no bounce on UI; gentle ease on entrances. */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1); /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur-base: 240ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --dur-entrance: 720ms; /* @kind other */

  /* Standard transitions */
  --t-hover: 200ms var(--ease-out); /* @kind other */
  --t-press: 110ms var(--ease-out); /* @kind other */
}

/* ============================================================
   Quickzii — Base layer
   Reset + element defaults + a few shared primitives.
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  color: var(--text-strong);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-tight);
  font-weight: var(--fw-bold);
  text-wrap: balance;
}

p { text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }

::selection { background: var(--violet-200); color: var(--ink-900); }

:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}

/* ---- Shared primitives ---- */
.qz-container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.qz-container--wide { max-width: var(--container-wide); }
.qz-container--narrow { max-width: var(--container-narrow); }

.qz-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-mono);
  font-size: var(--text-eyebrow);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--text-brand);
}
.qz-eyebrow::before {
  content: "";
  width: 22px; height: 2px;
  background: var(--brand);
  border-radius: 2px;
}

.qz-section-title {
  font-size: var(--text-display-lg);
  letter-spacing: var(--ls-tighter);
  color: var(--text-strong);
}
.qz-lead {
  font-size: var(--text-lead);
  line-height: var(--lh-relaxed);
  color: var(--text-body);
}

/* Gradient text helper */
.qz-gradient-text {
  background: var(--grad-brand);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Reveal-on-scroll. Content is visible by DEFAULT; the hidden/animated state
   only applies when <html class="qz-anim"> is set (added by a head script when
   motion is allowed). This guarantees content shows even if the JS reveal
   driver or rAF/IO is unavailable (print, export, reduced-motion). */
.qz-reveal { opacity: 1; transform: none; }
html.qz-anim .qz-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--dur-entrance) var(--ease-out),
              transform var(--dur-entrance) var(--ease-out);
  will-change: opacity, transform;
}
html.qz-anim .qz-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html.qz-anim .qz-reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
@media print {
  html.qz-anim .qz-reveal { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   Quickzii — Component interaction states
   Hover / press / focus rules that inline styles can't express.
   ============================================================ */

/* ---- Buttons ---- */
.qz-btn { -webkit-tap-highlight-color: transparent; }
.qz-btn:active { transform: translateY(1px) scale(0.985); }

.qz-btn--primary:hover { background: var(--brand-hover) !important; box-shadow: var(--shadow-brand) !important; transform: translateY(-1px); }
.qz-btn--primary:active { background: var(--brand-press) !important; }

.qz-btn--secondary:hover { border-color: var(--brand) !important; color: var(--text-brand) !important; box-shadow: var(--shadow-sm) !important; transform: translateY(-1px); }

.qz-btn--ghost:hover { background: var(--brand-subtle) !important; }

.qz-btn--on-ink:hover { background: #fff !important; box-shadow: 0 12px 30px -10px rgba(255,255,255,0.35) !important; transform: translateY(-1px); }
.qz-btn--on-ink-ghost:hover { background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.28) !important; }

.qz-btn__icon svg { width: 1.15em; height: 1.15em; }

/* Arrow nudge on hover for buttons with a trailing icon */
.qz-btn:hover .qz-btn__icon:last-child { transform: translateX(3px); }
.qz-btn__icon:last-child { transition: transform var(--t-hover); }

/* ---- Cards ---- */
.qz-card { transition: transform var(--t-hover), box-shadow var(--t-hover), border-color var(--t-hover); }
.qz-card--hover:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--violet-200); }
.qz-card--hover:hover .qz-icontile { transform: scale(1.06) rotate(-3deg); }

.qz-icontile { transition: transform var(--t-hover), background var(--t-hover); }

/* ---- Form fields ---- */
.qz-input, .qz-select, .qz-textarea {
  transition: border-color var(--t-hover), box-shadow var(--t-hover), background var(--t-hover);
}
.qz-input:hover, .qz-select:hover, .qz-textarea:hover { border-color: var(--border-strong); }
.qz-input:focus, .qz-select:focus, .qz-textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--focus-ring);
  background: var(--white);
}
.qz-input::placeholder, .qz-textarea::placeholder { color: var(--text-muted); }

/* ---- Links / nav ---- */
.qz-navlink { position: relative; transition: color var(--t-hover); }
.qz-navlink::after {
  content: ""; position: absolute; left: 0; bottom: -4px; height: 2px; width: 100%;
  background: var(--brand); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform var(--t-hover);
}
.qz-navlink:hover { color: var(--text-strong); }
.qz-navlink:hover::after, .qz-navlink[aria-current="page"]::after { transform: scaleX(1); }

/* ---- Pills / badges ---- */
.qz-badge { transition: background var(--t-hover), color var(--t-hover), border-color var(--t-hover); }

<\u002Fstyle>
<style>/* ============================================================

/* ============================================================
   Quickzii website kit — layout & motion (composes design tokens)
   ============================================================ */

/* ---------- App shell ---------- */
.site { overflow-x: clip; }

/* ---------- Header / nav ---------- */
.qz-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  transition: background var(--t-hover), box-shadow var(--t-hover), border-color var(--t-hover), backdrop-filter var(--t-hover);
  border-bottom: 1px solid transparent;
}
.qz-header[data-scrolled="true"] {
  background: rgba(255,255,255,0.82);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom-color: var(--border-subtle);
  box-shadow: var(--shadow-sm);
}
.qz-header__inner { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 24px; }
.qz-nav { display: flex; align-items: center; gap: 26px; }
.qz-nav a { font-size: 0.875rem; font-weight: var(--fw-semibold); color: var(--text-body); }
.qz-header__actions { display: flex; align-items: center; gap: 14px; }
.qz-burger { display: none; }

@media (max-width: 940px) {
  .qz-nav, .qz-header__actions .qz-desktop-cta { display: none; }
  .qz-burger { display: inline-flex; }
}

/* Mobile drawer */
.qz-drawer {
  position: fixed; inset: 0; z-index: 60; display: grid;
  grid-template-rows: 76px 1fr;
  background: rgba(255,255,255,0.98); backdrop-filter: blur(12px);
  opacity: 0; pointer-events: none; transition: opacity var(--t-hover);
}
.qz-drawer[data-open="true"] { opacity: 1; pointer-events: auto; }
.qz-drawer__links { display: flex; flex-direction: column; gap: 6px; padding: 24px var(--gutter); }
.qz-drawer__links a {
  font-family: var(--font-display); font-size: 1.5rem; font-weight: var(--fw-bold);
  color: var(--text-strong); padding: 14px 0; border-bottom: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: space-between;
}

/* ---------- Hero ---------- */
.qz-hero { position: relative; padding-top: 132px; padding-bottom: var(--section-y); overflow: clip; }
.qz-hero__bg {
  position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.qz-hero__blob {
  position: absolute; border-radius: 50%; filter: blur(64px); opacity: .55;
  animation: qz-drift 18s ease-in-out infinite alternate;
}
@keyframes qz-drift {
  0% { transform: translate(0,0) scale(1); }
  100% { transform: translate(40px,-30px) scale(1.12); }
}

/* ---------- Animated route network ---------- */
.qz-route { stroke-dasharray: 5 9; animation: qz-flow 1.4s linear infinite; }
@keyframes qz-flow { to { stroke-dashoffset: -28; } }
.qz-route--slow { animation-duration: 2.2s; }

.qz-node-pulse { transform-box: fill-box; transform-origin: center; animation: qz-pulse 2.6s ease-out infinite; }
@keyframes qz-pulse {
  0% { transform: scale(.6); opacity: .55; }
  70% { transform: scale(2.4); opacity: 0; }
  100% { opacity: 0; }
}
.qz-float { animation: qz-float 6s ease-in-out infinite; }
.qz-float--b { animation-delay: -2s; animation-duration: 7.5s; }
.qz-float--c { animation-delay: -4s; animation-duration: 8.5s; }
@keyframes qz-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Floating glass KPI chip */
.qz-chip {
  position: absolute; display: flex; align-items: center; gap: 11px;
  background: rgba(255,255,255,0.86); backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.9); box-shadow: var(--shadow-lg);
  border-radius: var(--radius-lg); padding: 12px 16px;
}
.qz-chip__k { font-family: var(--font-display); font-weight: var(--fw-extra); font-size: 1.05rem; color: var(--ink-900); line-height: 1; }
.qz-chip__l { font-size: 12px; color: var(--text-muted); }

/* ---------- City marquee ---------- */
.qz-marquee { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.qz-marquee__track { display: flex; gap: 48px; padding-right: 48px; animation: qz-marquee 38s linear infinite; white-space: nowrap; }
.qz-marquee:hover .qz-marquee__track { animation-play-state: paused; }
@keyframes qz-marquee { to { transform: translateX(-50%); } }
.qz-marquee__item { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: var(--fw-semibold); font-size: 1.05rem; color: var(--ink-400); }

/* ---------- Section helpers ---------- */
.qz-sec { padding-block: var(--section-y); position: relative; }
.qz-grid-cards { display: grid; gap: 20px; }
@media (min-width: 640px) { .qz-cols-2 { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 920px) { .qz-cols-3 { grid-template-columns: repeat(3,1fr); } .qz-cols-4 { grid-template-columns: repeat(4,1fr); } .qz-cols-5 { grid-template-columns: repeat(5,1fr); } }
@media (max-width: 919px) { .qz-cols-4 { grid-template-columns: repeat(2,1fr); } .qz-cols-5 { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 560px) { .qz-cols-5 { grid-template-columns: repeat(2,1fr); } }

/* Dotted texture for ink sections */
.qz-dotgrid {
  background-image: radial-gradient(rgba(255,255,255,0.10) 1px, transparent 1px);
  background-size: 26px 26px;
}
.qz-dotgrid-light {
  background-image: radial-gradient(var(--violet-100) 1.2px, transparent 1.2px);
  background-size: 28px 28px;
}

/* Process timeline */
.qz-step-line { position: absolute; top: 31px; left: 12.5%; right: 12.5%; height: 2px; background: var(--violet-100); border-radius: 2px; }
.qz-step-line::after { content:""; position:absolute; inset:0; background: var(--grad-brand); border-radius: 2px; transform: scaleX(var(--p,0)); transform-origin:left; transition: transform 1.4s var(--ease-out) .2s; }
@media (max-width: 919px) { .qz-step-line--desktop { display: none; } }

/* Collapse two-column layouts on tablet/mobile */
@media (max-width: 900px) {
  .qz-hero__grid, .qz-two { grid-template-columns: 1fr !important; }
  .qz-hero__grid > *:last-child, .qz-two .qz-reveal:last-child { order: 2; }
  .qz-two [style*="sticky"] { position: static !important; }
}
@media (max-width: 560px) {
  .qz-process { grid-template-columns: 1fr !important; }
  #contact form { grid-template-columns: 1fr !important; }
  .qz-cta-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 860px) { .qz-foot-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 520px) { .qz-foot-grid { grid-template-columns: 1fr !important; } }

/* Reveal stagger helper for grids */
.qz-reveal[data-delay] { transition-delay: 0ms; }

/* Footer */
.qz-footer { background: var(--grad-ink); color: var(--text-on-ink); }
.qz-footer a { color: rgba(237,235,246,0.72); font-size: var(--text-sm); transition: color var(--t-hover); }
.qz-footer a:hover { color: #fff; }

@media (prefers-reduced-motion: reduce) {
  .qz-route, .qz-node-pulse, .qz-float, .qz-hero__blob, .qz-marquee__track { animation: none !important; }
}

/* ---------- City location pins ---------- */
.qz-pin {
  position: absolute;
  transform: translate(-50%, -92%);
  pointer-events: none;
}
.qz-pins-in .qz-pin {
  animation: qz-pindrop 0.5s var(--ease-out) backwards;
  animation-delay: calc(var(--i) * 130ms);
}
@keyframes qz-pindrop {
  0% { opacity: 0; transform: translate(-50%, -92%) translateY(-16px) scale(0.5); }
  55% { opacity: 1; }
  100% { opacity: 1; transform: translate(-50%, -92%) scale(1); }
}
@media (prefers-reduced-motion: reduce) { .qz-pins-in .qz-pin { animation: none; } }
.qz-pin__svg { display: block; transform-origin: 50% 100%; }
.qz-pin__radar {
  position: absolute; left: 50%; bottom: 1px;
  width: 12px; height: 12px; margin-left: -6px;
  border-radius: 50%; border: 2px solid var(--rc, #fff);
  transform: scale(0.4); opacity: 0;
  animation: qz-radar 2.6s var(--ease-out) infinite;
}
@keyframes qz-radar {
  0% { transform: scale(0.4); opacity: 0.75; }
  70% { transform: scale(3.4); opacity: 0; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .qz-pin__radar { animation: none; opacity: 0; } }

/* ---------- Live dot indicator ---------- */
.qz-livedot {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-mono); font-size: var(--text-eyebrow); font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--violet-300);
}
.qz-livedot::before {
  content: ""; position: relative; width: 9px; height: 9px; border-radius: 50%;
  background: var(--positive-500); box-shadow: 0 0 0 0 rgba(20,184,106,0.6);
  animation: qz-livepulse 2s var(--ease-out) infinite;
}
@keyframes qz-livepulse {
  0% { box-shadow: 0 0 0 0 rgba(20,184,106,0.55); }
  70% { box-shadow: 0 0 0 9px rgba(20,184,106,0); }
  100% { box-shadow: 0 0 0 0 rgba(20,184,106,0); }
}

/* ---------- Icon breathe (subtle, for Why-Quickzii icons) ---------- */
@keyframes qz-iconbreathe { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(157,107,255,0); } 50% { transform: scale(1.12); box-shadow: 0 0 0 8px rgba(157,107,255,0.20); } }
@keyframes qz-iconsoft { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

/* ---------- Driver step route line + sequential icon fill ---------- */
.qz-route-line { position: absolute; top: 32px; left: 10%; right: 10%; height: 2px; background-image: linear-gradient(90deg, rgba(192,164,250,0.45) 55%, transparent 55%); background-size: 11px 2px; }
.qz-route-line::after { content: ""; position: absolute; inset: 0; background: var(--grad-brand); transform: scaleX(0); transform-origin: left; transition: transform 1.8s var(--ease-out) 0.2s; }
.qz-route-line[data-on="true"]::after { transform: scaleX(1); }
@media (max-width: 919px) { .qz-route-line--desktop { display: none; } }
.qz-step-icon { width: 64px; height: 64px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); position: relative; z-index: 1; transition: background 0.55s var(--ease-out), border-color 0.55s, box-shadow 0.55s; }
.qz-step-icon[data-on="true"] { background: var(--grad-brand); border-color: transparent; box-shadow: var(--shadow-brand-sm); }

/* ---------- Why Quickzii hover fill + lift ---------- */
.qz-why-item .qz-icontile { transition: background 0.25s, color 0.25s, transform 0.25s, box-shadow 0.25s, border-color 0.25s; }
.qz-why-item:hover .qz-icontile { background: var(--grad-brand) !important; color: #fff !important; border-color: transparent !important; transform: translateY(-4px); box-shadow: var(--shadow-brand-sm); }
@media (prefers-reduced-motion: reduce) { [style*="qz-iconbreathe"] { animation: none !important; } }

/* ---------- Reveal (authoritative; overrides any cached base.css) ---------- */
.qz-reveal { opacity: 1; transform: none; }
html.qz-anim .qz-reveal {
  opacity: 0; transform: translateY(18px);
  transition: opacity 720ms var(--ease-out), transform 720ms var(--ease-out);
  will-change: opacity, transform;
}
html.qz-anim .qz-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html.qz-anim .qz-reveal { opacity: 1 !important; transform: none !important; transition: none; }
}
@media print { html.qz-anim .qz-reveal { opacity: 1 !important; transform: none !important; } }



  html, body { background: var(--surface-page); }
  #root { min-height: 100vh; }
