/* ===== @font-face ===== */
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin-ext.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: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin.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: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin-ext.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: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin.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: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin-ext.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: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cinzel-latin.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-viet.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-viet.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-viet.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-italic-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-viet.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-viet.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-viet.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/cormorant-latin.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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("assets/fonts/montserrat-viet.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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-viet.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-viet.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-cyr.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-viet.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin-ext.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin.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;
}

/* ===== base ===== */
html, body { margin:0; padding:0; background:#0a0a0a; }
html { overflow-y:scroll; scrollbar-gutter:stable; }
body { font-family:'Montserrat', Helvetica, Arial, sans-serif; font-weight:300; -webkit-font-smoothing:antialiased; }
a { color:#c8ab6e; text-decoration:none; }
a:hover { color:#e4ce9b; }
::selection { background:rgba(212,175,106,.28); }

/* ===== keyframes ===== */
@keyframes jbBgZoom { 0% { transform:scale(1.3); } 100% { transform:scale(1); } }
@keyframes jbCookie { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
@keyframes jbBaseOut { 0% { opacity:1; } 100% { opacity:0; } }
@keyframes jbDust {
  0% { opacity:0; transform:translate3d(0,40px,0) scale(.5); }
  22% { opacity:.85; }
  68% { opacity:.4; }
  100% { opacity:0; transform:translate3d(14px,-190px,0) scale(1.15); }
}
@keyframes jbLine {
  0% { opacity:0; transform:translate(-50%,-50%) scaleX(0); }
  8% { opacity:1; }
  34% { opacity:1; transform:translate(-50%,-50%) scaleX(1); }
  70% { opacity:.7; }
  100% { opacity:0; transform:translate(-50%,-50%) scaleX(1.08); }
}
@keyframes jbCardForm {
  0% { opacity:0; transform:perspective(1600px) translateY(46px) rotateX(28deg) scale(.88); filter:blur(14px); }
  50% { opacity:1; filter:blur(0); }
  80% { transform:perspective(1600px) translateY(-5px) rotateX(-2.5deg) scale(1.012); }
  100% { opacity:1; transform:perspective(1600px) translateY(0) rotateX(0) scale(1); filter:blur(0); }
}
@keyframes jbMono {
  0% { opacity:0; letter-spacing:.62em; filter:blur(14px); }
  60% { opacity:1; filter:blur(0); }
  100% { opacity:1; letter-spacing:.02em; filter:blur(0); }
}
@keyframes jbSheen {
  0% { transform:translateX(-150%) skewX(-18deg); opacity:0; }
  16% { opacity:.9; }
  100% { transform:translateX(250%) skewX(-18deg); opacity:0; }
}
@keyframes jbSealIn {
  0% { opacity:0; transform:scale(3.4) rotate(-22deg); filter:blur(10px); }
  60% { opacity:1; transform:scale(.94) rotate(2deg); filter:blur(0); }
  100% { opacity:1; transform:scale(1) rotate(0deg); filter:blur(0); }
}
@keyframes jbRing {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.5); }
  18% { opacity:.85; }
  100% { opacity:0; transform:translate(-50%,-50%) scale(3.2); }
}
@keyframes jbSlash {
  0% { opacity:0; transform:translate(-50%,-50%) rotate(-8deg) scaleX(0); }
  12% { opacity:1; }
  46% { opacity:1; transform:translate(-50%,-50%) rotate(-8deg) scaleX(1); }
  100% { opacity:0; transform:translate(-50%,-50%) rotate(-8deg) scaleX(1); }
}
@keyframes jbSpark {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
  35% { opacity:1; transform:translate(-50%,-50%) scale(1); }
  100% { opacity:0; transform:translate(-50%,-50%) scale(2.6); }
}
@keyframes jbPanelA {
  0% { transform:translate3d(0,0,0) rotate(0deg); filter:blur(0); opacity:1; }
  10% { transform:translate3d(.6%,1.2%,0) rotate(.3deg); filter:blur(0); opacity:1; }
  100% { transform:translate3d(-7%,-116%,0) rotate(-5deg); filter:blur(10px); opacity:.05; }
}
@keyframes jbPanelB {
  0% { transform:translate3d(0,0,0) rotate(0deg); filter:blur(0); opacity:1; }
  10% { transform:translate3d(-.6%,-1.2%,0) rotate(-.3deg); filter:blur(0); opacity:1; }
  100% { transform:translate3d(7%,116%,0) rotate(5deg); filter:blur(10px); opacity:.05; }
}
@keyframes jbInvite {
  0% { opacity:0; letter-spacing:.85em; }
  24% { opacity:1; letter-spacing:.46em; }
  64% { opacity:1; letter-spacing:.46em; }
  100% { opacity:0; letter-spacing:.56em; }
}
@keyframes jbSkipFade { 0%, 60% { opacity:.55; } 100% { opacity:0; } }
@keyframes jbRise { 0% { opacity:0; transform:translateY(30px); } 100% { opacity:1; transform:translateY(0); } }
@keyframes jbFloat { 0%,100% { transform:translateY(-10px) rotate(-.4deg); } 50% { transform:translateY(10px) rotate(.4deg); } }
@keyframes jbGlow { 0%,100% { opacity:.4; } 50% { opacity:.8; } }
@keyframes jbShimmer { 0% { transform:translateX(-120%) skewX(-20deg); } 100% { transform:translateX(320%) skewX(-20deg); } }
@keyframes jbFlow { 0% { background-position:0% 50%; } 100% { background-position:200% 50%; } }
@keyframes jbDrift { 0% { transform:scale(1.06) translate3d(0,0,0); } 100% { transform:scale(1.14) translate3d(-1.5%,-1.5%,0); } }
@keyframes jbSpin { 0% { opacity:0; transform:rotate(-420deg) scale(.82); } 30% { opacity:1; } 100% { opacity:1; transform:rotate(0deg) scale(1); } }
@keyframes jbOrbit { 0% { opacity:0; transform:rotate(0deg); } 18% { opacity:1; } 100% { opacity:1; transform:rotate(1128deg); } }
@keyframes jbFanL { 0% { opacity:0; transform:translateX(12px) rotate(0deg); } 55% { opacity:1; } 100% { opacity:1; transform:translateX(0) rotate(-15deg); } }
@keyframes jbFanR { 0% { opacity:0; transform:translateX(-12px) rotate(0deg); } 55% { opacity:1; } 100% { opacity:1; transform:translateX(0) rotate(15deg); } }
@keyframes jbMeetL { 0% { opacity:0; transform:translateX(-30px) rotate(-8deg); } 100% { opacity:1; transform:translateX(0) rotate(-4deg); } }
@keyframes jbMeetR { 0% { opacity:0; transform:translateX(30px) rotate(8deg); } 100% { opacity:1; transform:translateX(0) rotate(4deg); } }
@keyframes jbTumble { 0% { opacity:0; transform:rotate(-200deg) scale(.55); } 45% { opacity:1; } 78% { transform:rotate(8deg) scale(1.04); } 100% { opacity:1; transform:rotate(0deg) scale(1); } }
@keyframes jbReel { 0% { opacity:0; transform:translateY(-66.6%); } 25% { opacity:1; } 100% { opacity:1; transform:translateY(0); } }
@keyframes jbFoldL { 0% { transform:perspective(2200px) rotateY(0deg); opacity:1; } 100% { transform:perspective(2200px) rotateY(-106deg); opacity:.12; } }
@keyframes jbFoldR { 0% { transform:perspective(2200px) rotateY(0deg); opacity:1; } 100% { transform:perspective(2200px) rotateY(106deg); opacity:.12; } }
@keyframes jbSeam { 0% { opacity:1; transform:translateX(-50%) scaleY(1); } 100% { opacity:0; transform:translateX(-50%) scaleY(1.35); } }
@keyframes jbDoor { 0% { transform:perspective(1900px) rotateY(0deg); opacity:1; } 72% { opacity:.92; } 100% { transform:perspective(1900px) rotateY(-90deg); opacity:0; } }
@keyframes jbKnock { 0%,100% { transform:translateX(0); } 20% { transform:translateX(-2px); } 40% { transform:translateX(2px); } 60% { transform:translateX(-1px); } 80% { transform:translateX(1px); } }
@keyframes jbPulse { 0%,100% { opacity:.4; transform:scale(1); } 50% { opacity:1; transform:scale(1.3); } }
@keyframes jbTicker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* --- phone: the only rules that cannot live inline --- */
@media (max-width: 900px) {
  [data-m="hdrDesk"] { display: none !important; }
  [data-m="hdrMob"] { display: flex !important; }
  [data-m="sheet"] { display: block !important; }
  [data-m="hero"] { min-height: 0 !important; padding-top: 40px !important; }
  /* mobile sheet: "Official partner" + logo (handoff 7) no longer fits beside the code box at 390px — stack label over logo */
  [data-m="sheetPartner"] { flex-direction: column; align-items: flex-end; gap: 7px !important; }
}

@media (max-width: 820px) {
  [data-m="introcard"] { width: min(86vw, 560px) !important; height: auto !important; aspect-ratio: 560 / 352; }
  [data-m="ben"] { grid-template-columns: 38px 1fr !important; gap: 0 16px !important; }
  .jb-podium-1 { order: -1; } /* stacked podium: winner first (desktop keeps 2-1-3) */
  [data-m="row4"] { grid-template-columns: 46px 1fr auto !important; gap: 4px 14px !important; padding-left: 4px !important; padding-right: 4px !important; }
  [data-m="row4"] > :nth-child(2) { grid-column: 2 / 4; }
  [data-m="row4"] > :nth-child(3) { grid-column: 2; text-align: left !important; }
  [data-m="row4"] > :nth-child(4) { grid-column: 3; text-align: right !important; }
  [data-m="band"] { aspect-ratio: 4 / 3 !important; min-height: 0 !important; max-height: none !important; }
}
@media (max-width: 820px) {
  [data-m="clock"] { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 14px 8px !important; width: 100%; }
  [data-m="clock"] > div { min-width: 0 !important; }
  [data-m="tick"] { display: none !important; }
  [data-m="row4h"] { display: none !important; }
}
@media (max-width: 820px) {
  [data-m="enter"] { grid-template-columns: 1fr !important; justify-items: start; }
  [data-m="qr"] { width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 1 / 1; padding: 16px !important; }
  [data-m="codebox"] { width: 100% !important; box-sizing: border-box; flex-wrap: wrap; gap: 10px 16px !important; justify-content: space-between; padding: 14px 18px !important; }
  [data-m="codebox"] > :nth-child(2) { font-size: 21px !important; letter-spacing: .16em !important; }
  [data-m="ctaCol"] { width: 100%; }
  [data-m="ctaCol"] > a { flex: 1 1 100%; justify-content: center; box-sizing: border-box; }
  /* same treatment for the "For regular players" pair: equal, full-width buttons */
  [data-m="playersCta"] { width: 100%; }
  [data-m="playersCta"] > a { flex: 1 1 100%; justify-content: center; box-sizing: border-box; }
}
@media (max-width: 560px) {
  [data-m="row4"] { font-size: 13px; }
  /* intro card is ~335x211 here: the 132px mark would sit under the "Proud partner of" badge (makieta overlaps too) */
  [data-m="introcard"] img[src*="jb-mark"] { width: 96px !important; }
  [data-m="introPartner"] { bottom: 18px !important; }
  [data-m="introPartner"] img { height: 18px !important; }
}

/* ===== hover (from style-hover attributes; inline styles win, so !important) ===== */
.jb-nav-a:hover { color:#e4ce9b !important; border-bottom-color:rgba(232,199,133,.6) !important; }
.jb-nav-a-alt:hover { color:#e4ce9b !important; border-bottom-color:rgba(224,200,148,.6) !important; }
.jb-accept-sm:hover { filter:brightness(1.08) !important; }
.jb-totop:hover { filter:brightness(1.08) !important; box-shadow:0 22px 40px -18px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,246,222,.7) !important; }
.jb-btn-gold:hover { filter:brightness(1.08) !important; transform:translateY(-3px) !important; box-shadow:0 30px 62px -22px rgba(193,145,60,.95) !important; }
.jb-btn-ghost:hover { border-color:rgba(232,199,133,.6) !important; background:rgba(200,163,96,.07) !important; transform:translateY(-3px) !important; }
.jb-step-card:hover { border-color:rgba(224,200,148,.4) !important; transform:translateY(-6px) !important; }
.jb-players-cta:hover { filter:brightness(1.08) !important; transform:translateY(-2px) !important; }
.jb-players-ghost:hover { border-color:rgba(232,199,133,.7) !important; transform:translateY(-2px) !important; }
.jb-plinko-pill:hover { border-color:rgba(232,199,133,.6) !important; background:rgba(196,158,92,.11) !important; color:#f2e6cb !important; transform:translateY(-2px) !important; }
.jb-plinko-cta:hover { transform:translateY(-3px) !important; box-shadow:0 30px 56px -24px rgba(0,0,0,1) !important; }
.jb-btn-gold-sm:hover { filter:brightness(1.08) !important; transform:translateY(-3px) !important; }
.jb-btn-ghost-sm:hover { border-color:rgba(224,200,148,.6) !important; background:rgba(184,155,93,.07) !important; transform:translateY(-3px) !important; }
.jb-ben:hover { background:linear-gradient(90deg, rgba(184,155,93,.06), transparent) !important; }
.jb-tier-brass:hover { transform:translateY(-8px) !important; border-color:rgba(224,200,148,.4) !important; }
.jb-tier-gold:hover { transform:translateY(-10px) !important; box-shadow:0 52px 110px -40px rgba(184,155,93,.6) !important; }
.jb-tier-black:hover { transform:translateY(-8px) !important; border-color:rgba(224,200,148,.45) !important; }
.jb-podium-2:hover { transform:translateY(-8px) !important; border-color:rgba(232,199,133,.45) !important; box-shadow:0 30px 70px -34px rgba(198,150,58,.45) !important; }
.jb-podium-1:hover { transform:translateY(-10px) !important; box-shadow:0 52px 110px -40px rgba(198,150,58,.7) !important; }
.jb-podium-3:hover { transform:translateY(-8px) !important; border-color:rgba(232,199,133,.4) !important; box-shadow:0 30px 70px -34px rgba(198,150,58,.4) !important; }
.jb-row4:hover { background:linear-gradient(90deg, rgba(200,163,96,.1), rgba(200,163,96,.01)) !important; }
.jb-rows-toggle:hover { border-color:rgba(232,199,133,.6) !important; background:rgba(200,163,96,.07) !important; }
.jb-codebox:hover { border-color:rgba(232,199,133,.75) !important; background:rgba(200,163,96,.06) !important; }
.jb-btn-gold-2:hover { filter:brightness(1.08) !important; transform:translateY(-3px) !important; box-shadow:0 30px 62px -22px rgba(193,145,60,1) !important; }
.jb-faq:hover { background:linear-gradient(90deg, rgba(184,155,93,.05), transparent) !important; }
.jb-circle-a:hover { border-color:rgba(232,199,133,.55) !important; background:rgba(200,163,96,.07) !important; transform:translateY(-6px) !important; }
.jb-game:hover { background:linear-gradient(90deg, rgba(200,163,96,.05), transparent) !important; }
.jb-cookie-settings:hover { color:#e4ce9b !important; border-color:rgba(196,158,92,.5) !important; }
.jb-cookie-reject:hover { background:rgba(196,158,92,.1) !important; color:#f0e4c8 !important; }
.jb-cookie-accept:hover { filter:brightness(1.1) !important; }
.jb-cookie-save:hover { filter:brightness(1.1) !important; }
.jb-cookie-tab:hover { opacity:1 !important; transform:translateY(-3px) rotate(-4deg) !important; box-shadow:0 22px 40px -18px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,246,222,.7) !important; }
