/* Source: https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.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(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.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(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.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;
}


/* Inline style */

  :root{
    --bg:#0B0914;
    --bg-soft:#0D0B18;
    --surface:#151329;
    --surface-hi:#1E1B36;
    --line:rgba(240,237,250,0.09);
    --text:#F3F1FA;
    --text-mute:#9791AE;
    --accent:#7C5CFC;
    --accent-soft:rgba(124,92,252,0.15);
    --accent2:#B4A6FF;
    --radius:14px;
    --maxw:1180px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{ font-family:'Space Grotesk', sans-serif; letter-spacing:-0.02em; }
  .mono{ font-family:'JetBrains Mono', monospace; }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
  ::selection{ background:var(--accent); color:#fff; }

  /* grain overlay */
  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:999; opacity:0.045; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* cursor glow */
  .cursor-glow{
    position:fixed; top:0; left:0; width:520px; height:520px; border-radius:50%; pointer-events:none; z-index:1;
    background:radial-gradient(circle, rgba(124,92,252,0.16), rgba(180,166,255,0.05) 45%, transparent 70%);
    transform:translate(-50%,-50%); mix-blend-mode:screen; will-change:transform; opacity:0; transition:opacity .4s ease;
  }
  .cursor-glow.active{ opacity:1; }

  /* shared glassmorphism */
  .glass{
    background:rgba(240,237,250,0.05);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(240,237,250,0.12);
    border-top-color:rgba(240,237,250,0.22); /* bright top edge — light catching the material */
  }
  @media (prefers-reduced-transparency: reduce){
    .glass, .chat-panel, .contact-card, .booking-card{
      background:var(--surface) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    }
  }
  @media (prefers-contrast: more){
    .glass, .chat-panel, .contact-card, .booking-card{
      border-width:1.5px !important; border-color:var(--text-mute) !important;
    }
    .btn-ghost{ border-color:var(--text) !important; }
  }

  /* floating blobs */
  .blob{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.5; animation:float 9s ease-in-out infinite; }
  @keyframes float{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(18px,-26px) scale(1.08); } }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:22px 0;
    transition:background .3s ease, border-color .3s ease, padding .3s ease;
    border-bottom:1px solid transparent;
    opacity:0; transform:translateY(-14px);
    animation:fadeUp .8s cubic-bezier(.2,.9,.25,1) .05s forwards;
  }
  header.scrolled{
    background:rgba(11,9,20,0.85);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    padding:16px 0;
  }
  .scroll-progress{
    position:fixed; top:0; left:0; height:2px; width:0%; z-index:101;
    background:linear-gradient(90deg,var(--accent),var(--accent2));
    box-shadow:0 0 12px rgba(124,92,252,0.6);
    transition:width .1s linear;
  }
  nav{ display:flex; align-items:center; justify-content:space-between; }
  .logo{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; display:flex; align-items:center; gap:8px;}
  .logo .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent2); box-shadow:0 0 12px var(--accent2); }
  .nav-links{ display:flex; gap:36px; align-items:center; }
  .nav-link{
    position:relative; overflow:hidden; height:19px; line-height:19px; display:inline-block;
  }
  .nav-link-inner{ display:flex; flex-direction:column; transition:transform .45s cubic-bezier(.65,0,.35,1); }
  .nav-link-text{ display:block; font-size:14px; color:var(--text-mute); }
  .nav-link-text.dup{ color:var(--accent2); }
  .nav-link:hover .nav-link-inner{ transform:translateY(-19px); }
  .btn{
    font-family:'Inter',sans-serif; font-weight:600; font-size:14px;
    padding:11px 22px; border-radius:100px; display:inline-flex; align-items:center; gap:8px;
    transition:transform .18s ease, box-shadow .2s ease, background .2s ease;
    cursor:pointer; border:none; will-change:transform; position:relative; overflow:hidden;
  }
  .btn::before{
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.28) 50%, transparent 70%);
    mix-blend-mode:overlay;
    transform:translateX(-130%); transition:transform .7s cubic-bezier(.2,.9,.25,1);
  }
  .btn:hover::before{ transform:translateX(130%); }
  .btn > *{ position:relative; z-index:1; }
  .btn-primary{
    background:linear-gradient(135deg, var(--accent), #6A4CFF);
    color:#fff; box-shadow:0 0 0 0 rgba(124,92,252,0.5);
    padding-right:8px;
  }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(124,92,252,0.4); }
  .btn-arrow{
    width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.22);
    display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .2s ease;
  }
  .btn-arrow svg{ width:13px; height:13px; }
  .btn-primary:hover .btn-arrow{ transform:translateX(2px) rotate(45deg); background:rgba(255,255,255,0.32); }
  .btn-ghost{ background:transparent; color:var(--text); border:1px solid var(--line); }
  .btn-ghost:hover{ border-color:var(--text-mute); }
  .mobile-toggle{ display:none; }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center;
    padding-top:120px; padding-bottom:80px; overflow:hidden;
  }
  .hero-bg{
    position:absolute; inset:0; z-index:-1;
    background:
      radial-gradient(ellipse 1000px 600px at 20% 0%, rgba(124,92,252,0.28), transparent 60%),
      radial-gradient(ellipse 900px 650px at 85% 10%, rgba(124,92,252,0.22), transparent 60%),
      radial-gradient(ellipse 700px 500px at 50% 100%, rgba(180,166,255,0.08), transparent 60%),
      var(--bg);
  }
  .hero-bg::after{
    content:''; position:absolute; inset:0;
    background-image: linear-gradient(rgba(240,237,250,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(240,237,250,.035) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 900px 500px at 50% 20%, black, transparent 75%);
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--accent2);
    border:1px solid rgba(180,166,255,0.25); background:rgba(180,166,255,0.06);
    padding:7px 14px; border-radius:100px; margin-bottom:28px;
    opacity:0; animation:fadeUp .8s cubic-bezier(.2,.9,.25,1) .1s forwards;
  }
  .eyebrow .rec{ width:7px; height:7px; border-radius:50%; background:var(--accent2); animation:pulse 1.6s infinite; }
  @keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:.25;} }
  @keyframes fadeUp{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:translateY(0); } }
  .hero h1{
    font-size:clamp(40px, 6.4vw, 84px); line-height:0.98; font-weight:700; max-width:920px;
    opacity:0; animation:fadeUp .9s cubic-bezier(.2,.9,.25,1) .22s forwards;
  }
  .hero h1 .grad{
    background:linear-gradient(96deg, var(--accent) 10%, #C9BFFF 45%, var(--accent2) 95%);
    background-size:200% auto;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation:gradShift 6s ease-in-out infinite;
  }
  @keyframes gradShift{ 0%,100%{ background-position:0% center; } 50%{ background-position:100% center; } }
  .hero p.sub{
    margin-top:26px; font-size:clamp(16px,2vw,20px); color:var(--text-mute); max-width:560px; line-height:1.55;
    opacity:0; animation:fadeUp .9s cubic-bezier(.2,.9,.25,1) .36s forwards;
  }
  .hero-cta{ display:flex; gap:16px; margin-top:40px; align-items:center; flex-wrap:wrap;
    opacity:0; animation:fadeUp .9s cubic-bezier(.2,.9,.25,1) .5s forwards;
  }
  .hero-note{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--text-mute); }

  /* timeline scrubber signature element */
  .scrubber{
    margin-top:70px; position:relative; padding-top:22px; border-top:1px solid var(--line);
  }
  .scrubber-track{ position:relative; height:3px; background:var(--surface-hi); border-radius:2px; overflow:hidden; }
  .scrubber-fill{ position:absolute; left:0; top:0; bottom:0; width:34%; background:linear-gradient(90deg,var(--accent),var(--accent2)); border-radius:2px; animation:scrub 7s ease-in-out infinite; }
  @keyframes scrub{ 0%{width:4%;} 50%{width:78%;} 100%{width:4%;} }
  .scrubber-ticks{ display:flex; justify-content:space-between; margin-top:12px; }
  .scrubber-ticks span{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--text-mute); }

  /* ---------- MARQUEE ---------- */
  /* ---------- SHOWREEL ---------- */
  .showreel-section{ padding:20px 0 90px; }
  .showreel-frame{
    position:relative; border-radius:26px; overflow:hidden; aspect-ratio:16/9;
    background:#000; border:1px solid var(--line); box-shadow:0 40px 100px rgba(0,0,0,0.5);
    cursor:pointer;
  }
  .showreel-frame video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .showreel-frame::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(11,9,20,0.15) 0%, transparent 30%, rgba(11,9,20,0.55) 100%);
  }
  .showreel-label{
    position:absolute; top:20px; left:22px; z-index:2; display:flex; align-items:center; gap:9px;
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,0.5);
  }
  .showreel-label .rec{ width:7px; height:7px; border-radius:50%; background:#FF5C5C; box-shadow:0 0 8px #FF5C5C; animation:recBlink 1.6s ease-in-out infinite; }
  @keyframes recBlink{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

  .showreel-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(1); z-index:2;
    width:76px; height:76px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(240,237,250,0.14); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(240,237,250,0.28);
    display:flex; align-items:center; justify-content:center;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .2s ease, opacity .3s ease;
  }
  .showreel-play:hover{ background:rgba(240,237,250,0.22); transform:translate(-50%,-50%) scale(1.06); }
  .showreel-play:active{ transform:translate(-50%,-50%) scale(.92); transition:transform .1s ease; }
  .showreel-play svg{ width:26px; height:26px; margin-left:3px; }
  .showreel-frame.playing .showreel-play{ opacity:0; pointer-events:none; }

  .showreel-mute{
    position:absolute; bottom:18px; right:18px; z-index:2;
    width:40px; height:40px; border-radius:50%; border:1px solid rgba(240,237,250,0.24); cursor:pointer;
    background:rgba(11,9,20,0.45); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    display:flex; align-items:center; justify-content:center;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .2s ease;
  }
  .showreel-mute:hover{ background:rgba(11,9,20,0.6); }
  .showreel-mute:active{ transform:scale(.9); transition:transform .1s ease; }
  .showreel-mute svg{ width:17px; height:17px; }
  .showreel-mute .icon-muted{ display:block; }
  .showreel-mute .icon-on{ display:none; }
  .showreel-mute.unmuted .icon-muted{ display:none; }
  .showreel-mute.unmuted .icon-on{ display:block; }

  .showreel-caption{
    display:flex; justify-content:space-between; align-items:center; margin-top:18px;
    font-size:13px; color:var(--text-mute); flex-wrap:wrap; gap:10px;
  }
  .showreel-caption b{ color:var(--text); font-weight:600; }

  @media (prefers-reduced-motion: reduce){
    .showreel-label .rec{ animation:none; }
  }

  .marquee-section{ padding:64px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .marquee-label{ text-align:center; font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--text-mute); letter-spacing:.08em; text-transform:uppercase; margin-bottom:34px; }
  .marquee-viewport{ 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); }
  .marquee-track{ display:flex; gap:64px; width:max-content; animation:marquee 26s linear infinite; }
  .marquee-viewport:hover .marquee-track{ animation-play-state:paused; }
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  .brand{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:22px; color:var(--text-mute); white-space:nowrap; opacity:.75; display:flex; align-items:center; gap:8px;}
  .brand:hover{ color:var(--text); }

  /* ---------- SECTION HEADS ---------- */
  .section{ padding:130px 0; }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:24px; flex-wrap:wrap; }
  .kicker{ font-family:'JetBrains Mono',monospace; color:var(--accent2); font-size:13px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; display:block; }
  .section-head h2{ font-size:clamp(30px,4vw,46px); font-weight:600; max-width:560px; }
  .section-head .desc{ color:var(--text-mute); max-width:340px; font-size:15px; line-height:1.6; }

  /* ---------- PORTFOLIO ---------- */
  .grid-work{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
  .card{
    position:relative; border-radius:var(--radius); overflow:hidden; background:var(--surface);
    border:1px solid var(--line); aspect-ratio:16/10.5; cursor:pointer;
    transition:transform .45s cubic-bezier(.2,.9,.25,1), border-color .45s ease;
  }
  .card::before{
    content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.10) 48%, transparent 62%);
    transform:translateX(-120%); transition:transform .8s cubic-bezier(.2,.9,.25,1);
  }
  .card:hover::before{ transform:translateX(120%); }
  .card:hover{ transform:translateY(-4px); border-color:rgba(124,92,252,0.4); }
  .card-thumb{
    position:absolute; inset:0; opacity:.95; background:#120F22;
  }
  .card-thumb video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  }
  .card-thumb::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(11,9,20,0.05) 0%, rgba(11,9,20,0.15) 70%, rgba(11,9,20,0.55) 100%);
  }
  .play-btn{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.7) rotate(-20deg);
    width:56px; height:56px; border-radius:50%;
    background:rgba(240,237,250,0.14);
    backdrop-filter:blur(14px) saturate(180%);
    -webkit-backdrop-filter:blur(14px) saturate(180%);
    border:1px solid rgba(240,237,250,0.35);
    box-shadow:0 8px 28px rgba(0,0,0,0.3);
    display:flex; align-items:center; justify-content:center; opacity:0; transition:all .4s cubic-bezier(.2,.9,.25,1);
  }
  .card:hover .play-btn{ opacity:1; transform:translate(-50%,-50%) scale(1) rotate(0deg); }
  .play-btn svg{ width:16px; height:16px; margin-left:3px; }

  /* ---------- VIDEO LIGHTBOX ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center;
    padding:40px; background:rgba(6,5,12,0.75); backdrop-filter:blur(10px);
    opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .lightbox.open{ opacity:1; pointer-events:auto; }
  .lightbox-panel{
    position:relative; width:min(920px,100%); border-radius:22px; overflow:hidden;
    background:#000; border:1px solid var(--line);
    box-shadow:0 40px 100px rgba(0,0,0,0.6);
    transform:translateY(60px) scale(.92); opacity:0;
    transition:transform .55s cubic-bezier(.34,1.56,.64,1), opacity .35s ease;
  }
  .lightbox.open .lightbox-panel{ transform:translateY(0) scale(1); opacity:1; }
  .lightbox-panel video{ width:100%; max-height:82vh; display:block; background:#000; }
  .lightbox-close{
    position:absolute; top:14px; right:14px; z-index:2;
    width:38px; height:38px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(240,237,250,0.14); backdrop-filter:blur(14px);
    display:flex; align-items:center; justify-content:center;
    transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .2s ease;
  }
  .lightbox-close:hover{ background:rgba(240,237,250,0.24); transform:scale(1.08) rotate(90deg); }
  .lightbox-close svg{ width:16px; height:16px; }
  .lightbox-title{
    position:absolute; left:18px; bottom:16px; z-index:2; color:#fff;
    font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px;
    text-shadow:0 2px 10px rgba(0,0,0,0.6);
  }
  .card{ perspective:800px; }
  .card-thumb, .card-meta{ transition:transform .4s ease; }
  .card-meta{
    position:absolute; left:0; right:0; bottom:0; padding:20px 22px;
    background:linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
    display:flex; justify-content:space-between; align-items:flex-end;
  }
  .card-meta h3{ font-size:19px; font-weight:600; }
  .card-meta p{ color:var(--text-mute); font-size:13.5px; margin-top:3px; }
  .card-tag{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent2); border:1px solid rgba(180,166,255,.3); padding:4px 9px; border-radius:100px; white-space:nowrap;}

  /* ---------- STATS ---------- */
  .stats-section{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:90px 0; }
  .stats-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
  .stat{ padding:0 16px; }
  .stat .num{ font-family:'JetBrains Mono',monospace; font-size:clamp(38px,5vw,58px); font-weight:600; color:var(--text); }
  .stat .num .accent{ color:var(--accent2); }
  .stat .label{ color:var(--text-mute); font-size:14px; margin-top:8px; }
  .stats-grid .stat + .stat{ border-left:1px solid var(--line); }

  /* ---------- FAQ ---------- */
  .faq-list{ max-width:760px; }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; padding:26px 0; cursor:pointer;
    font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:500; gap:20px;
  }
  .faq-q .idx{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--text-mute); margin-right:16px; }
  .faq-item{ transition:transform .3s ease; }
  .faq-item:hover{ transform:translateX(4px); }
  .faq-icon-wrap{
    width:34px; height:34px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--line); transition:all .4s cubic-bezier(.2,.9,.25,1);
  }
  .faq-item.open .faq-icon-wrap{
    background:rgba(124,92,252,0.14);
    backdrop-filter:blur(14px) saturate(180%);
    -webkit-backdrop-filter:blur(14px) saturate(180%);
    border-color:rgba(124,92,252,0.45);
    box-shadow:0 6px 22px rgba(124,92,252,0.25);
    transform:rotate(135deg);
  }
  .faq-icon{ width:20px; height:20px; flex-shrink:0; position:relative; }
  .faq-icon::before, .faq-icon::after{ content:''; position:absolute; background:var(--text-mute); transition:transform .3s ease, opacity .3s ease, background .3s ease; }
  .faq-icon::before{ width:14px; height:1.5px; top:50%; left:50%; transform:translate(-50%,-50%); }
  .faq-icon::after{ width:1.5px; height:14px; top:50%; left:50%; transform:translate(-50%,-50%); }
  .faq-item.open .faq-icon::after{ opacity:0; }
  .faq-item.open .faq-icon::before,
  .faq-item.open .faq-icon::after{ background:var(--accent2); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.2,.9,.25,1); }
  .faq-a p{ color:var(--text-mute); padding-bottom:26px; line-height:1.65; max-width:600px; font-size:15px; }

  /* ---------- BOOKING ---------- */
  .booking-section{ border-top:1px solid var(--line); position:relative; overflow:hidden; }
  .booking-card{
    position:relative; margin-top:8px; border-radius:22px; padding:44px;
    display:grid; grid-template-columns:1fr 1.15fr; gap:52px; overflow:hidden;
  }
  .booking-card .blob{ opacity:.35; }
  .booking-host{ display:flex; align-items:center; gap:12px; margin-bottom:30px; }
  .host-avatar{
    width:44px; height:44px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    display:flex; align-items:center; justify-content:center;
    font-family:'Space Grotesk',sans-serif; font-weight:700; color:#0B0914; font-size:17px;
  }
  .host-name{ font-weight:600; font-size:14.5px; }
  .host-role{ color:var(--text-mute); font-size:13px; margin-top:1px; }
  .booking-left h3{ font-size:27px; margin-bottom:16px; }
  .booking-meta{ display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
  .booking-meta span{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--text-mute); border:1px solid var(--line); padding:7px 13px; border-radius:100px; }
  .booking-desc{ color:var(--text-mute); font-size:14.5px; line-height:1.65; max-width:340px; }

  .picker-label{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--text-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; display:block; }
  .day-picker{ display:flex; gap:8px; margin-bottom:26px; }
  .day-pill{
    flex:1; text-align:center; padding:12px 4px; border-radius:13px; border:1px solid var(--line);
    cursor:pointer; transition:all .35s cubic-bezier(.2,.9,.25,1);
  }
  .day-pill .dow{ display:block; font-size:10.5px; color:var(--text-mute); font-family:'JetBrains Mono',monospace; letter-spacing:.03em; }
  .day-pill .dnum{ display:block; font-size:17px; font-weight:600; margin-top:5px; font-family:'Space Grotesk',sans-serif; }
  .day-pill:hover{ border-color:var(--text-mute); transform:translateY(-2px); }
  .day-pill.active{
    background:rgba(124,92,252,0.16);
    backdrop-filter:blur(16px) saturate(180%);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    border-color:rgba(124,92,252,0.5);
    box-shadow:0 8px 24px rgba(124,92,252,0.25);
    transform:translateY(-2px);
  }

  .slot-picker{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:28px; }
  .slot{
    display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-radius:13px;
    border:1px solid var(--line); font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--text-mute);
    cursor:pointer; transition:all .35s cubic-bezier(.2,.9,.25,1);
  }
  .slot:hover{ border-color:var(--text-mute); color:var(--text); }
  .slot.selected{
    background:rgba(180,166,255,0.09);
    backdrop-filter:blur(16px) saturate(180%);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    border-color:rgba(180,166,255,0.5);
    box-shadow:0 8px 24px rgba(180,166,255,0.16);
    color:var(--text);
  }
  .slot-check{
    width:18px; height:18px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; transition:all .35s ease;
  }
  .slot.selected .slot-check{
    background:rgba(180,166,255,0.18);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-color:var(--accent2);
  }
  .slot.selected .slot-check::after{ content:''; width:7px; height:7px; border-radius:50%; background:var(--accent2); }

  .confirm-btn{ width:100%; justify-content:center; opacity:.45; pointer-events:none; }
  .confirm-btn.ready{ opacity:1; pointer-events:auto; }

  .handles{ display:flex; gap:26px; justify-content:center; margin-top:48px; flex-wrap:wrap; }
  .handle{ font-family:'JetBrains Mono',monospace; font-size:13.5px; color:var(--text-mute); border:1px solid var(--line); padding:9px 16px; border-radius:100px; transition:border-color .25s ease; }
  .handle:hover{ border-color:var(--text-mute); }

  @media (max-width:860px){
    .booking-card{ grid-template-columns:1fr; padding:28px; gap:32px; }
    .slot-picker{ grid-template-columns:1fr 1fr; }
  }

  /* ---------- CONTACT / EMAIL FORM ---------- */
  .contact-section{ position:relative; overflow:hidden; }
  .contact-card{
    position:relative; border-radius:28px; padding:52px; overflow:hidden;
    display:grid; grid-template-columns:1fr 1.2fr; gap:56px; align-items:center;
  }
  .contact-card .blob{ opacity:.4; }
  .contact-left h3{ font-size:clamp(26px,3vw,34px); line-height:1.15; margin-bottom:14px; }
  .contact-left p{ color:var(--text-mute); font-size:15px; line-height:1.6; max-width:380px; }
  .contact-left .contact-points{ margin-top:28px; display:flex; flex-direction:column; gap:14px; }
  .contact-point{ display:flex; align-items:center; gap:12px; font-size:14px; color:var(--text-mute); }
  .contact-point .dot-ic{
    width:34px; height:34px; border-radius:10px; flex-shrink:0;
    background:rgba(124,92,252,0.14); border:1px solid rgba(124,92,252,0.3);
    display:flex; align-items:center; justify-content:center;
  }
  .contact-point .dot-ic svg{ width:16px; height:16px; }

  .contact-form{ position:relative; z-index:1; display:flex; flex-direction:column; gap:14px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .field{ position:relative; }
  .field input, .field textarea{
    width:100%; background:rgba(240,237,250,0.05); border:1px solid var(--line);
    border-radius:14px; padding:15px 16px; color:var(--text); font-family:'Inter',sans-serif; font-size:14.5px;
    outline:none; transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
    resize:none;
  }
  .field input:focus, .field textarea:focus{
    border-color:rgba(124,92,252,0.55); background:rgba(240,237,250,0.07);
    box-shadow:0 0 0 4px rgba(124,92,252,0.12);
  }
  .field label{
    position:absolute; left:16px; top:15px; font-size:14.5px; color:var(--text-mute);
    pointer-events:none; transition:transform .2s ease, font-size .2s ease, color .2s ease; transform-origin:left top;
    background:transparent; padding:0 4px;
  }
  .field input:focus + label, .field input:not(:placeholder-shown) + label,
  .field textarea:focus + label, .field textarea:not(:placeholder-shown) + label{
    transform:translateY(-25px) scale(.82); color:var(--accent2); background:var(--surface);
  }
  .contact-submit{ justify-content:center; margin-top:6px; position:relative; }
  .contact-status{
    font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--text-mute);
    min-height:18px; text-align:center; transition:color .2s ease;
  }
  .contact-status.ok{ color:#3ED598; }
  .contact-status.err{ color:#FF7A7A; }

  .channel-select{ display:flex; flex-direction:column; gap:9px; margin-bottom:4px; }
  .channel-select .cs-label{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--text-mute); letter-spacing:.05em; text-transform:uppercase; }
  .channel-pills{ display:flex; gap:8px; flex-wrap:wrap; }
  .channel-pill{
    display:flex; align-items:center; gap:7px; padding:9px 15px; border-radius:100px;
    border:1px solid var(--line); background:rgba(240,237,250,0.04); color:var(--text-mute);
    font-size:13px; font-family:'Inter',sans-serif; cursor:pointer;
    transition:border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
  }
  .channel-pill svg{ width:14px; height:14px; }
  .channel-pill:hover{ border-color:rgba(124,92,252,0.4); color:var(--text); }
  .channel-pill.active{
    background:rgba(124,92,252,0.16); border-color:rgba(124,92,252,0.55); color:var(--text);
  }
  .channel-pill.active:active{ transform:scale(.97); }

  @media (max-width:860px){
    .contact-card{ grid-template-columns:1fr; padding:32px; gap:36px; }
    .form-row{ grid-template-columns:1fr; }
  }

  /* ---------- FOOTER ---------- */
  footer{ border-top:1px solid var(--line); padding:36px 0; }
  .footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  .footer-row p{ color:var(--text-mute); font-size:13.5px; }
  .social-row{ display:flex; gap:22px; }
  .social-row a{ color:var(--text-mute); font-size:13.5px; transition:color .2s; }
  .social-row a:hover{ color:var(--text); }

  /* reveal animation — smooth fade-up with blur/scale settle (Apple/Zakariahq-style) */
  .reveal{
    opacity:0; transform:translateY(36px) scale(.975); filter:blur(8px);
    transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1), filter 1s cubic-bezier(.16,1,.3,1);
    will-change:transform, opacity, filter;
  }
  .reveal.in{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
  @media (prefers-reduced-motion: reduce){
    .reveal{ filter:none; }
  }

  /* apple-style tap feedback */
  .btn:active{ transform:scale(.96) !important; transition:transform .12s ease !important; }
  .day-pill:active, .slot:active, .faq-q:active{ transform:scale(.97); }
  .card{ transition:transform .3s cubic-bezier(.2,.9,.25,1); }
  .card:active{ transform:scale(.98) !important; transition:transform .1s ease !important; }
  .card:active .card-thumb{ transform:scale(1.02) !important; transition:transform .1s ease !important; }

  @media (max-width:860px){
    .nav-links{ display:none; }
    .grid-work{ grid-template-columns:1fr; }
    .stats-grid{ grid-template-columns:1fr; gap:36px; }
    .stats-grid .stat + .stat{ border-left:none; border-top:1px solid var(--line); padding-top:32px; }
    .section{ padding:90px 0; }
    .wrap{ padding:0 20px; }
  }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
  }

  /* ---------- APPLE-STYLE CHAT WIDGET ---------- */
  .chat-fab{
    position:fixed; bottom:26px; right:26px; z-index:200;
    width:60px; height:60px; border-radius:50%;
    background:linear-gradient(135deg,var(--accent),#9B6BFF);
    display:flex; align-items:center; justify-content:center;
    border:none; cursor:pointer;
    box-shadow:0 10px 30px rgba(124,92,252,0.45), 0 2px 8px rgba(0,0,0,0.3);
    transition:transform .45s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
  }
  .chat-fab:hover{ transform:scale(1.08) translateY(-2px); }
  .chat-fab:active{ transform:scale(.94); }
  .chat-fab svg{ width:26px; height:26px; transition:opacity .2s ease, transform .3s cubic-bezier(.34,1.56,.64,1); }
  .chat-fab .ico-close{ position:absolute; opacity:0; transform:rotate(-45deg) scale(.6); }
  .chat-fab.open .ico-chat{ opacity:0; transform:rotate(45deg) scale(.6); }
  .chat-fab.open .ico-close{ opacity:1; transform:rotate(0) scale(1); }
  .chat-fab .ico-chat{ position:absolute; }
  .chat-fab .pulse-ring{
    position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(124,92,252,0.5);
    animation:pulseRing 2.6s ease-out infinite;
  }
  @keyframes pulseRing{ 0%{ transform:scale(.85); opacity:.8; } 100%{ transform:scale(1.35); opacity:0; } }

  .chat-panel{
    position:fixed; bottom:100px; right:26px; z-index:200;
    width:360px; max-width:calc(100vw - 40px); height:520px; max-height:calc(100vh - 150px);
    border-radius:26px; overflow:hidden; display:flex; flex-direction:column;
    background:rgba(21,19,41,0.72);
    backdrop-filter:blur(30px) saturate(190%);
    -webkit-backdrop-filter:blur(30px) saturate(190%);
    border:1px solid rgba(240,237,250,0.14);
    box-shadow:0 30px 80px rgba(0,0,0,0.55);
    transform:translateY(24px) scale(.94); opacity:0; pointer-events:none;
    transition:transform .5s cubic-bezier(.2,1.1,.3,1), opacity .35s ease;
    font-family:-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', 'Helvetica Neue', sans-serif;
  }
  .chat-panel.open{ transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }

  .chat-head{
    display:flex; align-items:center; gap:11px; padding:16px 18px;
    border-bottom:1px solid rgba(240,237,250,0.08); flex-shrink:0;
  }
  .chat-avatar{
    width:38px; height:38px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    display:flex; align-items:center; justify-content:center; font-weight:700; color:#0B0914; font-size:15px;
  }
  .chat-head-name{ font-size:14.5px; font-weight:600; }
  .chat-head-status{ font-size:12px; color:var(--text-mute); display:flex; align-items:center; gap:5px; margin-top:1px; }
  .chat-head-status .dot-live{ width:6px; height:6px; border-radius:50%; background:#3ED598; box-shadow:0 0 8px #3ED598; }

  .chat-body{
    flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:10px;
    scroll-behavior:smooth;
  }
  .chat-body::-webkit-scrollbar{ width:5px; }
  .chat-body::-webkit-scrollbar-thumb{ background:rgba(240,237,250,0.15); border-radius:10px; }

  .bubble-row{ display:flex; opacity:0; transform:translateY(10px) scale(.96); animation:bubbleIn .38s cubic-bezier(.2,1.1,.3,1) forwards; }
  @keyframes bubbleIn{ to{ opacity:1; transform:translateY(0) scale(1); } }
  .bubble-row.bot{ justify-content:flex-start; }
  .bubble-row.user{ justify-content:flex-end; }
  .bubble{
    max-width:80%; padding:10px 15px; border-radius:19px; font-size:14px; line-height:1.42;
  }
  .bubble-row.bot .bubble{
    background:rgba(240,237,250,0.09); color:var(--text); border-bottom-left-radius:6px;
  }
  .bubble-row.user .bubble{
    background:linear-gradient(135deg,var(--accent),#9B6BFF); color:#fff; border-bottom-right-radius:6px;
  }

  .typing-row .bubble{ display:flex; gap:4px; align-items:center; padding:13px 16px; }
  .typing-dot{ width:6px; height:6px; border-radius:50%; background:var(--text-mute); animation:typingDot 1.2s ease-in-out infinite; }
  .typing-dot:nth-child(2){ animation-delay:.15s; }
  .typing-dot:nth-child(3){ animation-delay:.3s; }
  @keyframes typingDot{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-4px); opacity:1; } }

  .chat-input-row{
    display:flex; align-items:center; gap:8px; padding:12px 14px;
    border-top:1px solid rgba(240,237,250,0.08); flex-shrink:0;
  }
  .chat-input{
    flex:1; background:rgba(240,237,250,0.07); border:1px solid rgba(240,237,250,0.1);
    border-radius:100px; padding:10px 16px; color:var(--text); font-size:14px;
    font-family:inherit; outline:none; transition:border-color .2s ease, background .2s ease;
  }
  .chat-input:focus{ border-color:rgba(124,92,252,0.5); background:rgba(240,237,250,0.1); }
  .chat-send{
    width:36px; height:36px; border-radius:50%; flex-shrink:0; border:none; cursor:pointer;
    background:var(--accent); display:flex; align-items:center; justify-content:center;
    transition:transform .25s cubic-bezier(.34,1.56,.64,1), opacity .2s ease;
  }
  .chat-send:active{ transform:scale(.88); }
  .chat-send:disabled{ opacity:.4; pointer-events:none; }
  .chat-send svg{ width:16px; height:16px; }

  @media (max-width:480px){
    .chat-panel{ right:14px; left:14px; width:auto; bottom:92px; }
    .chat-fab{ right:18px; bottom:18px; }
  }


