/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.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("../fonts/inter-greek-ext.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("../fonts/inter-greek.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("../fonts/inter-vietnamese.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("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.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("../fonts/inter-greek-ext.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("../fonts/inter-greek.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("../fonts/inter-vietnamese.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("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.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("../fonts/inter-greek-ext.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("../fonts/inter-greek.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("../fonts/inter-vietnamese.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("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic-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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-cyrillic.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("../fonts/inter-greek-ext.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("../fonts/inter-greek.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("../fonts/inter-vietnamese.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("../fonts/inter-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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/inter-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic-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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-greek.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-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: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/manrope-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("../fonts/montserrat-cyrillic-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("../fonts/montserrat-cyrillic.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("../fonts/montserrat-vietnamese.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("../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("../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("../fonts/montserrat-cyrillic-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("../fonts/montserrat-cyrillic.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("../fonts/montserrat-vietnamese.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("../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("../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: 600;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic-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: 600;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic.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: 600;
  font-display: swap;
  src: url("../fonts/montserrat-vietnamese.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: 600;
  font-display: swap;
  src: url("../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: 600;
  font-display: swap;
  src: url("../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: 700;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic-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: 700;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic.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: 700;
  font-display: swap;
  src: url("../fonts/montserrat-vietnamese.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: 700;
  font-display: swap;
  src: url("../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: 700;
  font-display: swap;
  src: url("../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: 800;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic-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: 800;
  font-display: swap;
  src: url("../fonts/montserrat-cyrillic.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: 800;
  font-display: swap;
  src: url("../fonts/montserrat-vietnamese.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: 800;
  font-display: swap;
  src: url("../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: 800;
  font-display: swap;
  src: url("../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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-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: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-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: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/onest-cyrillic-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: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/onest-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/onest-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: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/onest-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: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-sans-cyrillic-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: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-sans-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-sans-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: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pt-sans-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: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/pt-sans-cyrillic-ext-2.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: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/pt-sans-cyrillic-2.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/pt-sans-latin-ext-2.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: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/pt-sans-latin-2.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;
}


/* styles.css — лендинг «Виасан» */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
:root { --maxw: 1200px; --radius: 12px; --shadow: 0 4px 20px rgba(12,58,102,.08); --shadow-lg: 0 14px 44px rgba(12,58,102,.16); }

.viasan {
  font-family: var(--font-body);
  color: #2C3A45;
  background: var(--page-bg);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.viasan h1, .viasan h2, .viasan h3 { font-family: var(--font-head); color: var(--dark); margin: 0; line-height: 1.15; letter-spacing: -.01em; }
.viasan p { margin: 0; }
/* Margins для p-элементов с классами — .viasan p{margin:0} имеет специфичность 11 и бьёт однокласные правила (спец. 10).
   Поэтому каждый компонент нужно поднять до двух селекторов */
.about    .about__p       { margin-bottom: 16px; }
.quizban  .quizban__sub   { margin-bottom: 40px; }
.how      .how__text      { margin-bottom: 18px; }
.finalform .finalform__sub{ margin-bottom: 22px; }
.reason   .reason__text   { margin-bottom: 0; }
.step     .step__text     { margin-bottom: 0; }
.viasan a { color: inherit; text-decoration: none; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; width: 100%; }

/* ——— Кнопки ——— */
.btn {
  font-family: var(--font-head);
  font-weight: 600; font-size: 16px; cursor: pointer;
  border: none; border-radius: var(--radius);
  padding: 17px 34px; display: inline-flex; align-items: center; gap: 9px;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn--cta { background: var(--cta); color: var(--cta-text, #fff); text-shadow: 0 1px 2px rgba(120,70,0,.32); box-shadow: 0 6px 18px color-mix(in srgb, var(--cta) 38%, transparent); }
.btn--cta:hover { background: var(--cta-dark); box-shadow: 0 10px 26px color-mix(in srgb, var(--cta) 46%, transparent); transform: translateY(-1px); }
.btn--ghost { background: transparent; color: var(--primary); border: 1.5px solid color-mix(in srgb, var(--primary) 45%, transparent); }
.btn--ghost:hover { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 6%, transparent); }
.btn--sm { padding: 11px 20px; font-size: 14px; }
.btn--block { width: 100%; justify-content: center; }

/* ——— Заголовки секций ——— */
.sec__head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.viasan .sec__h2 { font-size: 35px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; margin-bottom: 16px; text-wrap: balance; }
.sec__sub { color: #6B7A85; font-size: 18px; line-height: 1.6; text-wrap: balance; }

/* ——— Header ——— */
.hdr { position: sticky; top: 0; z-index: 50; }
.hdr__promo { background: var(--dark); color: #cfe2f3; font-size: 13.5px; }
.hdr__promo-in { display: flex; align-items: center; justify-content: space-between; height: 38px; gap: 16px; }
.hdr__promo-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdr__promo-phone { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: #fff; flex-shrink: 0; }
.hdr__main { background: rgba(255,255,255,.86); backdrop-filter: blur(10px); border-bottom: 1px solid #eef2f6; transition: box-shadow .2s ease; }
.hdr.is-scrolled .hdr__main { box-shadow: var(--shadow); }
.hdr__main-in { display: flex; align-items: center; gap: 28px; height: 70px; }
.logo { display: inline-flex; align-items: center; gap: 11px; color: var(--primary); }
.logo__img { height: 38px; width: auto; display: block; }
.logo__mark { display: inline-flex; }
.logo__text { font-family: var(--font-head); font-weight: 700; font-size: 27px; color: var(--dark); letter-spacing: -.02em; }
.logo__dot { color: var(--cta); }
.hdr__nav { display: flex; gap: 26px; margin-left: 8px; }
.hdr__nav a { font-size: 15.5px; font-weight: 500; color: #2C3A45; position: relative; padding: 4px 0; }
.hdr__nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--primary); transition: right .22s ease; }
.hdr__nav a:hover { color: var(--primary); }
.hdr__nav a:hover::after { right: 0; }
.hdr__right { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.hdr__phone { font-family: var(--font-head); font-weight: 700; font-size: 17px; color: var(--dark); }
.hdr__burger { display: none; flex-direction: column; gap: 4px; background: none; border: none; cursor: pointer; padding: 6px; }
.hdr__burger span { width: 22px; height: 2px; background: var(--dark); border-radius: 2px; }

/* ——— Messengers ——— */
.msgr { display: flex; gap: 10px; }
.msgr__btn { display: inline-flex; align-items: center; gap: 7px; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid #e1e8ef; color: var(--primary); transition: all .15s ease; }
.msgr__btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
/* App-icon style (header): no chrome, just the icon */
.msgr__btn--icon { width: 25px; height: 25px; border: none; border-radius: 7px; padding: 0; overflow: hidden; }
.msgr__btn--icon:hover { background: transparent; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(12,58,102,.18); }
.msgr__btn--icon .msgr__img { width: 100%; height: 100%; }
.msgr__img { width: 20px; height: 20px; display: block; object-fit: contain; flex-shrink: 0; }

/* ——— Фото-плейсхолдеры ——— */
.ph { display: flex; }
.ph__stripes { position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.10) 0 12px, rgba(255,255,255,0) 12px 28px); }
.ph__cap { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; text-align: center; }
.ph__badge { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 11px; letter-spacing: .14em; color: #fff; background: rgba(0,0,0,.22); padding: 4px 10px; border-radius: 100px; }
.ph__note { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.94); max-width: 280px; text-shadow: 0 1px 6px rgba(0,0,0,.28); }
.ph__cap--corner { inset: auto auto 14px 16px; flex-direction: row; align-items: center; gap: 8px; justify-content: flex-start; text-align: left; padding: 0; max-width: 70%; }
.ph__cap--corner .ph__note { font-size: 11px; max-width: 360px; opacity: .85; }

/* ——— Морской фон + анимация ——— */
.sea-bg { position: relative; background: linear-gradient(180deg, var(--sky-top) 0%, var(--sea-top) 42%, var(--sea-bottom) 100%); background-size: 100% 220%; background-position: 0% 0%; }
.sea-bg.is-animated { animation: seaShift 14s ease-in-out infinite alternate; }
@keyframes seaShift { from { background-position: 0% 0%; } to { background-position: 0% 60%; } }
@media (prefers-reduced-motion: reduce) { .sea-bg.is-animated { animation: none; } }
.hero__overlay { position: absolute; inset: 0; background: radial-gradient(120% 80% at 80% 0%, transparent, rgba(8,30,55,.34)); }
.hero__overlay--soft { background: linear-gradient(180deg, rgba(8,30,55,.18), rgba(8,30,55,.30)); }

/* ——— HERO ——— */
.hero { position: relative; overflow: hidden; }
.hero__eyebrow { display: inline-block; font-family: var(--font-head); font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); background: var(--light-bg); padding: 7px 14px; border-radius: 100px; margin-bottom: 24px; }
.hero__copy .hero__h1 { font-size: clamp(30px, 3vw, 64px); line-height: 1.18; font-weight: 700; margin-bottom: clamp(24px, 2.2vw, 48px); max-width: 28ch; text-wrap: balance; }
.hero__copy .hero__sub { font-size: 18.5px; line-height: 1.6; color: #4a5963; max-width: 52ch; margin-bottom: 40px; }
.hero__markers { list-style: none; padding: 0; margin: 0 0 44px; display: flex; flex-wrap: wrap; gap: 16px 30px; }
.hero__markers li { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--dark); }
.hero__markers li svg { color: #2BA84A; flex-shrink: 0; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 18px; }

/* Сплит */
.hero--split { padding: 92px 0 116px; background: linear-gradient(180deg, #fff 0%, var(--light-bg) 100%); }
.hero__split-in { display: grid; grid-template-columns: 1.12fr 1fr; gap: 56px; align-items: center; }
.hero__media { position: relative; }
.hero__photo { display: block; width: 100%; height: 100%; min-height: 500px; max-height: 640px; object-fit: cover; border-radius: 20px; box-shadow: var(--shadow-lg); }
.hero__media-glow { position: absolute; inset: -8% -8% -8% 14%; z-index: -1; border-radius: 30px; background: radial-gradient(60% 60% at 70% 30%, color-mix(in srgb, var(--primary) 30%, transparent), transparent 70%); filter: blur(18px); }
.hero__media-glow.is-animated { animation: glowPulse 6s ease-in-out infinite alternate; }
@keyframes glowPulse { from { opacity: .7; transform: scale(.98); } to { opacity: 1; transform: scale(1.03); } }

/* Light copy (immersive/center) */
.hero__copy--light .hero__h1, .hero__copy--light .hero__sub { color: #fff; }
.hero__copy--light .hero__sub { color: rgba(255,255,255,.92); }
.hero__copy--light .hero__markers li { color: #fff; }
.hero__copy--light .hero__markers li svg { color: #aef0c1; }
.hero__copy--light .btn--ghost { color: #fff; border-color: rgba(255,255,255,.6); }
.hero__copy--light .btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.12); }

.hero--immersive { padding: 86px 0 0; min-height: 560px; }
.hero__immersive-in { position: relative; z-index: 2; }
.hero--immersive .hero__copy { max-width: 640px; padding-bottom: 70px; }

.hero--center { padding: 92px 0 0; text-align: center; }
.hero__center-in { position: relative; z-index: 2; }
.hero__copy--center { max-width: 760px; margin: 0 auto; padding-bottom: 78px; }
.hero__copy--center .hero__h1 { max-width: none; margin-left: auto; margin-right: auto; }
.hero__copy--center .hero__sub { margin-left: auto; margin-right: auto; }
.hero__copy--center .hero__markers, .hero__copy--center .hero__ctas { justify-content: center; }

/* ——— Поиск ——— */
.search { background: var(--light-bg); padding: 96px 0 56px; position: relative; }
.hero--split + .search { margin-top: -56px; padding-top: 0; background: transparent; }
.search__head { text-align: center; max-width: 680px; margin: 0 auto 34px; }
.hero--split + .search .search__head { display: none; }
.search__panel { background: #fff; border-radius: 18px; box-shadow: var(--shadow-lg); padding: 16px; }
.search__tv { max-width: 1120px; margin: 0 auto; min-height: 260px; padding: 0 4px; box-sizing: border-box; }
.search__tv .tv-search-form { width: 100%; }
@media (max-width: 768px) { .search__tv { padding: 0 12px; } }
.search__fields { display: grid; grid-template-columns: repeat(6, 1fr) auto; gap: 10px; align-items: stretch; }
.search__field { display: flex; align-items: center; gap: 10px; text-align: left; background: #f6f9fc; border: 1.5px solid transparent; border-radius: 10px; padding: 11px 13px; cursor: pointer; transition: all .15s ease; min-width: 0; }
.search__field:hover { border-color: color-mix(in srgb, var(--primary) 40%, transparent); background: #fff; }
.search__field-icon { color: var(--primary); flex-shrink: 0; }
.search__field-body { display: flex; flex-direction: column; min-width: 0; }
.search__field-label { font-size: 11.5px; color: #8a98a3; letter-spacing: .02em; }
.search__field-value { font-size: 15px; font-weight: 600; color: var(--dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search__submit { white-space: nowrap; }
.search__note { text-align: center; margin-top: 16px; color: #6B7A85; font-size: 14px; display: inline-flex; align-items: center; gap: 7px; width: 100%; justify-content: center; }
.search__note svg { color: #2BA84A; }

/* ——— Направления ——— */
/* Блок направлений скрыт — заменён виджетом Tourvisor */
#directions { display: none !important; }
.dirs { padding: 96px 0; }
.dirs__included { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 26px; margin: -8px auto 38px; padding: 16px 22px; background: var(--light-bg); border-radius: var(--radius); max-width: 920px; }
.dirs__included-label { font-weight: 700; color: var(--dark); font-family: var(--font-head); font-size: 15px; }
.dirs__inc { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: #3a4953; }
.dirs__inc svg { color: var(--primary); }
.dirs__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

.dir { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; display: flex; flex-direction: column; }
.dir:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.dir__media { position: relative; }
.dir__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.dir__body .btn { margin-top: auto; }
.dir__name { font-size: 19px; font-weight: 700; }
.dir__price { color: var(--primary); font-weight: 700; font-family: var(--font-head); font-size: 17px; margin-top: -4px; }
.dir__tag { font-size: 12px; font-weight: 600; font-family: var(--font-head); color: var(--cta-text, #fff); background: var(--cta); padding: 4px 10px; border-radius: 100px; }
.dir__tag--float { position: absolute; top: 12px; left: 12px; box-shadow: 0 4px 12px rgba(0,0,0,.18); }

/* Открыточный стиль */
.dirs__grid--postcard { gap: 26px; }
.dir--postcard { background: #fff; padding: 12px 12px 0; box-shadow: 0 8px 26px rgba(12,58,102,.12); border: 1px solid #eef2f6; }
.dir--postcard:hover { transform: translateY(-6px) rotate(-.6deg); }
.dir__pc-frame { position: relative; border: 5px solid #fff; outline: 1px solid #e7eef4; border-radius: 6px; overflow: hidden; }
.dir__stamp { position: absolute; top: 8px; right: 8px; width: 34px; height: 40px; background: #fff; border: 1px dashed color-mix(in srgb, var(--primary) 55%, transparent); display: flex; align-items: center; justify-content: center; color: var(--primary); border-radius: 3px; transform: rotate(6deg); }
.dir__pc-body { padding: 14px 6px 18px; display: flex; flex-direction: column; gap: 9px; }
.dir__pc-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

/* ——— Фото-полоса ——— */
.band { position: relative; }
.band .ph { min-height: 260px; }
.band__caption { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; pointer-events: none; }
.band__quote { font-family: var(--font-head); font-weight: 700; font-size: clamp(24px, 3vw, 34px); color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.band__sub { color: rgba(255,255,255,.94); font-size: 17px; text-shadow: 0 1px 8px rgba(0,0,0,.3); }

/* ——— Три шага ——— */
.steps { background: var(--light-bg); padding: 90px 0; }
.steps__row { display: flex; align-items: stretch; gap: 8px; }
.step { flex: 1; background: #fff; border-radius: 16px; padding: 30px 26px; box-shadow: var(--shadow); position: relative; text-align: left; }
.step__num { font-family: var(--font-head); font-weight: 800; font-size: 56px; line-height: 1; color: color-mix(in srgb, var(--primary) 16%, transparent); position: absolute; top: 16px; right: 22px; }
.step__icon { width: 56px; height: 56px; border-radius: 14px; background: var(--light-bg); color: var(--primary); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.step__title { font-size: 21px; font-weight: 700; margin-bottom: 10px; }
.step__text { color: #5a6872; font-size: 16px; }
.steps__arrow { display: flex; align-items: center; color: color-mix(in srgb, var(--primary) 50%, transparent); flex-shrink: 0; }

/* ——— Плавающий декор ——— */
.decor { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.decor__sun { position: absolute; top: 44px; right: 8%; width: 90px; height: 90px; border-radius: 50%; background: radial-gradient(circle, #FFE9A8 0%, #FFD66B 55%, rgba(255,214,107,0) 72%); animation: floatY 9s ease-in-out infinite alternate; }
.decor__cloud { position: absolute; height: 26px; background: rgba(255,255,255,.85); border-radius: 100px; box-shadow: 22px 6px 0 -4px rgba(255,255,255,.85), -20px 5px 0 -5px rgba(255,255,255,.8); }
.decor__cloud--1 { top: 70px; left: -80px; width: 80px; animation: drift 26s linear infinite; }
.decor__cloud--2 { top: 130px; left: -120px; width: 56px; opacity: .75; animation: drift 38s linear infinite; animation-delay: -10s; }
.decor__gull { position: absolute; width: 38px; opacity: .8; }
.decor__gull--1 { top: 110px; left: 22%; animation: floatY 7s ease-in-out infinite alternate; }
.decor__gull--2 { top: 86px; left: 30%; width: 26px; opacity: .6; animation: floatY 8s ease-in-out infinite alternate; animation-delay: -3s; }
.hero--split .decor__sun { background: radial-gradient(circle, color-mix(in srgb, var(--cta) 30%, #FFE9A8) 0%, rgba(255,214,107,0) 70%); opacity: .5; }
.hero--split .decor__gull { stroke: var(--primary); opacity: .35; }
.hero--split .decor__cloud { background: rgba(27,111,196,.10); box-shadow: 22px 6px 0 -4px rgba(27,111,196,.10), -20px 5px 0 -5px rgba(27,111,196,.08); }
@keyframes drift { from { transform: translateX(0); } to { transform: translateX(120vw); } }
@keyframes floatY { from { transform: translateY(0); } to { transform: translateY(-12px); } }
@media (prefers-reduced-motion: reduce) { .decor * { animation: none !important; } }

/* ——— Toast / continued ——— */
.toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); background: var(--dark); color: #fff; padding: 14px 22px; border-radius: 100px; box-shadow: var(--shadow-lg); font-size: 15px; z-index: 200; animation: toastIn .25s ease; max-width: 90vw; text-align: center; }
@keyframes toastIn { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
.continued { background: #fff; border-top: 1px dashed #d7e2ec; padding: 22px 24px; text-align: center; color: #8a98a3; font-size: 14px; font-family: ui-monospace, "SF Mono", Menlo, monospace; }

/* ===== Блок 5. Почему выбирают ===== */
.reasons { padding: 96px 0; }
.reasons__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.reasons__grid .reason:nth-child(4) { grid-column: 1 / 2; }
.reason { background: #fff; border: 1px solid #eef2f6; border-radius: 16px; padding: 28px; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }
.reason:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.reason__icon { width: 54px; height: 54px; border-radius: 14px; background: var(--light-bg); color: var(--primary); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.reason__title { font-size: 19px; font-weight: 700; margin-bottom: 9px; }
.reason__text { color: #5a6872; font-size: 15.5px; }

/* ===== Блок 6. Квиз-баннер ===== */
.quizban { position: relative; overflow: hidden; padding: 96px 0; text-align: center; }
.quizban__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,30,55,.30), rgba(8,30,55,.42)); }
.quizban__in { position: relative; z-index: 2; max-width: 760px; }
.quizban__badge { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.18); color: #fff; font-size: 14px; font-weight: 600; padding: 7px 15px; border-radius: 100px; margin-bottom: 18px; backdrop-filter: blur(4px); }
.viasan .quizban__h2 { color: #fff; font-size: clamp(26px, 3.4vw, 38px); font-weight: 700; margin-bottom: 14px; text-wrap: balance; }
.quizban__sub { color: rgba(255,255,255,.92); font-size: 18px; margin-bottom: 40px; }
.quizban__cta { font-size: 17px; padding: 17px 38px; }

/* ===== Блок 7. Услуги ===== */
.services { padding: 96px 0; background: var(--light-bg); }
.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.service { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid #eef2f6; transition: transform .2s ease, box-shadow .2s ease; }
.service:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.service__media { position: relative; }
.service__img { display: block; width: 100%; height: 210px; object-fit: cover; object-position: center; background: #eaf1f7; }
.service__icon { width: 52px; height: 52px; border-radius: 14px; background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary); display: flex; align-items: center; justify-content: center; margin: 24px 24px 0; }
.service__body { display: flex; flex-direction: column; flex: 1; padding: 26px 26px 28px; }
.service__title { font-size: 18.5px; font-weight: 700; margin-bottom: 11px; line-height: 1.3; }
.service__text { color: #5a6872; font-size: 15px; line-height: 1.6; text-wrap: pretty; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.6em * 3); }
.service .service__text { margin-bottom: 24px; }
.service__btn { margin-top: auto; }

/* ===== Общее: карусель (свайп + стрелки + автопрокрутка) ===== */
.carousel__track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 8px; scrollbar-width: none; cursor: grab; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track--dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.carousel__track--dragging * { pointer-events: none; user-select: none; }
.carousel__track img { -webkit-user-drag: none; user-drag: none; }
.carousel__nav { display: flex; align-items: center; gap: 20px; margin-top: 20px; }
.carousel__arrows { display: inline-flex; gap: 10px; }
.carousel__arrow { width: 38px; height: 38px; border-radius: 50%; border: none; background: #eef0f2; color: #444; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease; }
.carousel__arrow:hover { background: #e2e5e8; }
.carousel__arrow:first-child svg { transform: rotate(180deg); }
.carousel__progress { flex: 1; height: 3px; background: #e3e6e9; border-radius: 3px; position: relative; overflow: hidden; min-width: 60px; }
.carousel__progress span { position: absolute; top: 0; left: 0; height: 100%; background: var(--primary); border-radius: 3px; display: block; transition: margin-left .15s ease, width .15s ease; }

/* ===== Блок 8. Команда ===== */
.team { padding: 96px 0; }
.tcard { flex: 0 0 260px; scroll-snap-align: start; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); transition: transform .2s ease, box-shadow .2s ease; }
.tcard:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.tcard__photo { position: relative; }
.tcard__img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 25%; background: #eaf1f7; }
.tcard__body { padding: 18px; display: flex; flex-direction: column; height: 100%; }
.tcard__name { font-size: 18px; font-weight: 700; }
.tcard__role { color: var(--primary); font-weight: 600; font-size: 14px; margin: 3px 0 12px; }
.tcard__quote { color: #5a6872; font-size: 14.5px; font-style: italic; line-height: 1.55; }
.tcard__contact { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef1f4; }
.tcard__contactLink { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--primary); text-decoration: none; }
.tcard__contactLink svg { flex-shrink: 0; }
.tcard__contactLink:hover { text-decoration: underline; }

/* ===== Блок 9. О компании ===== */
.about { padding: 96px 0; background: var(--light-bg); }
.about__intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.viasan .about__h2 { text-align: left; margin-bottom: 26px; }
.about__p { color: #4a5963; font-size: 16.5px; line-height: 1.7; margin-bottom: 16px; text-wrap: pretty; }
.about__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fact { background: #fff; border-radius: 14px; padding: 24px; text-align: center; box-shadow: var(--shadow); }
.fact__num { display: block; font-family: var(--font-head); font-weight: 800; font-size: 36px; color: var(--primary); line-height: 1; }
.fact__label { display: block; color: #6B7A85; font-size: 14px; margin-top: 8px; }

.leaders { margin-top: 76px; }
.leaders__head { text-align: center; max-width: 780px; margin: 0 auto 56px; }
.leaders__title { font-family: var(--font-head); font-size: 26px; font-weight: 700; color: var(--dark); margin-bottom: 10px; text-wrap: balance; }
.leaders__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lcard { background: #fff; border-radius: 16px; padding: 26px; box-shadow: var(--shadow); }
.lcard__top { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.lcard__ava { position: relative; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 24px; letter-spacing: .02em; }
.lcard__ava .ph { min-height: 96px !important; width: 96px; }
.lcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.lcard__name { font-size: 18px; font-weight: 700; }
.lcard__role { color: var(--primary); font-weight: 600; font-size: 14px; margin-top: 2px; }
.lcard__quote { color: #4a5963; font-size: 15px; font-style: italic; line-height: 1.6; text-wrap: pretty; }

.promos { margin-top: 56px; }
.promos__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.promos__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.promo { border-radius: 16px; padding: 28px; color: #fff; position: relative; overflow: hidden; min-height: 150px; }
.promo--cta { background: linear-gradient(135deg, var(--cta), var(--cta-dark)); color: var(--cta-text, #fff); }
.promo--cta .promo__badge { background: rgba(12,58,102,.16); }
.promo--primary { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); }
.promo--dark { background: linear-gradient(135deg, var(--dark), #061f38); }
.promo__badge { display: inline-block; background: rgba(255,255,255,.22); padding: 5px 12px; border-radius: 100px; font-weight: 700; font-size: 14px; margin-bottom: 14px; }
.promo__title { font-size: 21px; font-weight: 700; margin-bottom: 8px; }
.promo__text { font-size: 15px; opacity: .94; }

/* ===== Блок 10. Обучение ===== */
.training { background: linear-gradient(110deg, var(--dark), var(--primary-dark)); color: #fff; }
.training__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 36px 24px; flex-wrap: wrap; }
.training__copy { max-width: 640px; }
.viasan .training__h2 { color: #fff; font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.training__text { color: rgba(255,255,255,.86); font-size: 16px; }
.training__cta { flex-shrink: 0; }

/* ===== Блок 11. Отзывы ===== */
.reviews { padding: 96px 0; }
.reviews__summary { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 30px; }
.reviews__score { font-family: var(--font-head); font-weight: 800; font-size: 46px; line-height: 1; color: var(--dark); }
.reviews__sumstars { color: var(--cta); font-size: 18px; letter-spacing: 2px; }
.reviews__source { display: inline-block; margin-top: 4px; color: var(--primary); font-weight: 600; font-size: 14px; }
.reviews__grid { columns: 3 320px; column-gap: 22px; margin-bottom: 30px; }
.reviews__grid .rcard { width: 100%; margin: 0 0 22px; break-inside: avoid; -webkit-column-break-inside: avoid; }
.reviews__cta { text-align: center; }
.reviews__widget { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; margin-bottom: 28px; }
.reviews__map { background: repeating-linear-gradient(45deg, #e9eff4 0 18px, #eef3f7 18px 36px); border: 1.5px dashed #c4d2dd; border-radius: 16px; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--primary); font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 13px; text-align: center; }
.reviews__note { align-self: center; color: #6B7A85; font-size: 15px; background: var(--light-bg); border-radius: 14px; padding: 22px; }
.reviews__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rcard { background: #fff; border: 1px solid #eef2f6; border-radius: 16px; padding: 22px; box-shadow: var(--shadow); }
.rcard__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rcard__id { min-width: 0; }
.rcard__stars { margin-left: auto; align-self: flex-start; color: var(--cta); font-size: 14px; letter-spacing: 1px; white-space: nowrap; }
.rcard__ava { width: 42px; height: 42px; border-radius: 50%; background: var(--light-bg); color: var(--primary); display: flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 700; font-size: 18px; text-transform: uppercase; flex-shrink: 0; }
.rcard__name { font-weight: 700; font-size: 15px; }
.rcard__meta { color: #8a98a3; font-size: 13px; }
.rcard__body { color: #3a4953; font-size: 15px; line-height: 1.62; }

/* ——— Виджет отзывов (стиль Яндекс.Карты) ——— */
.yreviews { max-width: 1180px; margin: 0 auto; }
.yreviews__top { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; background: #f4f5f7; border-radius: 14px; padding: 18px 26px; margin-bottom: 24px; }
.yreviews__brand { display: inline-flex; align-items: center; gap: 9px; }
.yreviews__logo { width: 26px; height: 26px; border-radius: 50%; background: #FC3F1D; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 700; font-size: 15px; }
.yreviews__maps { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-head); font-weight: 700; font-size: 18px; color: #1a1a1a; }
.yreviews__maps svg { color: #FC3F1D; }
.yreviews__rating { display: inline-flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.yreviews__score { font-family: var(--font-head); font-weight: 700; font-size: 20px; color: #1a1a1a; }
.yreviews__stars { color: #FFC107; font-size: 18px; letter-spacing: 1px; }
.yreviews__count { color: #9aa0a6; font-size: 14px; }
.reviews .yreviews__add { margin-left: auto; background: #fff; border: 1px solid #dadce0; border-radius: 9px; padding: 11px 22px; font-weight: 500; font-size: 15px; color: #222; transition: background .15s ease, border-color .15s ease; white-space: nowrap; }
.yreviews__add:hover { background: #f6f8fa; border-color: #b9c0c7; }
.yreviews__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 8px; scrollbar-width: none; }
.yreviews__track::-webkit-scrollbar { display: none; }
.yrev { flex: 0 0 calc((100% - 40px) / 3); min-width: 290px; box-sizing: border-box; background: #fff; border: 1px solid #ececef; border-radius: 14px; padding: 22px 24px; scroll-snap-align: start; box-shadow: 0 2px 10px rgba(12,58,102,.04); display: flex; flex-direction: column; }
.yrev__head { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }
.yrev__ava { width: 46px; height: 46px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 700; font-size: 18px; text-transform: uppercase; flex-shrink: 0; }
.yrev__id { min-width: 0; }
.yrev__name { font-family: var(--font-head); font-weight: 700; font-size: 15px; color: #1a1a1a; }
.yrev__stars { color: #FFC107; font-size: 14px; letter-spacing: 1px; margin: 2px 0; }
.yrev__date { color: #9aa0a6; font-size: 13px; }
.yrev__text { color: #3a3a3a; font-size: 14.5px; line-height: 1.55; margin: 0; }
.yrev__text:not(.is-open) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.yrev__foot { margin-top: 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.yrev__more { background: none; border: none; padding: 0; cursor: pointer; color: #1a1a1a; font-size: 14px; }
.yrev__more:hover { color: var(--primary); }
.reviews .yrev__link { color: #5a5a5a; font-size: 13px; text-decoration: underline; margin-top: auto; }
.reviews .yrev__link:hover { color: var(--primary); }
.yreviews__nav { display: flex; align-items: center; gap: 20px; margin-top: 24px; }
.yreviews__arrows { display: inline-flex; gap: 10px; }
.yreviews__arrow { width: 38px; height: 38px; border-radius: 50%; border: none; background: #eef0f2; color: #444; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease; }
.yreviews__arrow:hover { background: #e2e5e8; }
.yreviews__arrow:first-child svg { transform: rotate(180deg); }
.yreviews__progress { flex: 1; height: 3px; background: #e3e6e9; border-radius: 3px; position: relative; overflow: hidden; min-width: 60px; }
.yreviews__progress span { position: absolute; top: 0; left: 0; height: 100%; background: var(--primary); border-radius: 3px; display: block; transition: margin-left .15s ease, width .15s ease; }
.reviews .yreviews__src { color: #9aa0a6; font-size: 13px; white-space: nowrap; }
@media (max-width: 900px) { .yrev { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .yrev { flex-basis: 86%; min-width: 0; } .yreviews__add { margin-left: 0; } }

/* ===== Блок 11b. Фото-отзывы (скриншоты переписок) ===== */
.screens { padding: 96px 0; }
.scard { flex: 0 0 240px; scroll-snap-align: start; display: block; border: none; padding: 0; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; text-align: left; font: inherit; color: inherit; }
.scard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.scard__img { display: block; width: 100%; height: 280px; object-fit: contain; background: #eaf1f7; }
.scard__cap { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.scard__ava { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.scard__ava--fallback { display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 15px; text-transform: uppercase; }
.scard__id { min-width: 0; }
.scard__name { display: block; font-weight: 700; font-size: 14px; color: var(--dark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scard__role { display: block; color: #8a98a3; font-size: 12.5px; }

/* ——— Лайтбокс для фото-отзывов ——— */
.modal__box--photo { max-width: min(92vw, 480px); padding: 0; background: transparent; box-shadow: none; overflow: visible; }
.modal__box--photo .modal__close { top: -14px; right: -14px; background: #fff; box-shadow: var(--shadow); }
.lbox { position: relative; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 80px rgba(8,30,55,.35); max-height: 90vh; display: flex; flex-direction: column; }
.lbox__img { display: block; width: 100%; max-height: 74vh; object-fit: contain; background: #0C3A66; }
.lbox__cap { display: flex; align-items: center; gap: 12px; padding: 14px 18px; }
.lbox__ava { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.lbox__ava--fallback { display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 16px; text-transform: uppercase; }
.lbox__id { min-width: 0; }
.lbox__name { display: block; font-weight: 700; font-size: 15px; color: var(--dark); }
.lbox__role { display: block; color: #8a98a3; font-size: 13px; }
.lbox__arrow { position: absolute; top: 50%; margin-top: -19px; width: 38px; height: 38px; border-radius: 50%; border: none; background: rgba(255,255,255,.92); color: #444; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: var(--shadow); z-index: 2; transition: background .15s ease; }
.lbox__arrow:hover { background: #fff; }
.lbox__arrow--prev { left: 10px; }
.lbox__arrow--prev svg { transform: rotate(180deg); }
.lbox__arrow--next { right: 10px; }
@media (max-width: 480px) { .lbox__arrow { width: 34px; height: 34px; } }

/* ===== Блок 12. FAQ + как работаем ===== */
.faqsec { padding: 96px 0; background: var(--light-bg); }
.faqsec__in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.faq__h2 { text-align: left; margin-bottom: 22px; }
.faq__list { display: flex; flex-direction: column; gap: 12px; }
.faq__item { background: #fff; border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; }
.faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 22px; background: none; border: none; cursor: pointer; text-align: left; font-family: var(--font-head); font-weight: 600; font-size: 16.5px; color: var(--dark); }
.faq__ic { width: 30px; height: 30px; border-radius: 50%; background: var(--light-bg); color: var(--primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .15s ease; }
.faq__item.is-open .faq__ic { background: var(--primary); color: #fff; }
.faq__a-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.faq__item.is-open .faq__a-wrap { grid-template-rows: 1fr; }
.faq__a { overflow: hidden; color: #5a6872; font-size: 15.5px; padding: 0 22px; }
.faq__item.is-open .faq__a { padding: 0 22px 20px; }

.how { background: var(--dark); color: #fff; border-radius: 18px; padding: 32px; position: sticky; top: 130px; }
.viasan .how__title { font-size: 21px; font-weight: 700; color: #fff; margin-bottom: 12px; text-wrap: balance; }
.how__text { color: rgba(255,255,255,.82); font-size: 15px; margin-bottom: 18px; }
.how__steps { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 12px; }
.how__steps li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: rgba(255,255,255,.92); }
.how__n { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--cta); color: var(--cta-text, #fff); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; font-family: var(--font-head); }
.how__online { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #aef0c1; background: rgba(255,255,255,.08); padding: 9px 14px; border-radius: 100px; }

.partners { margin-top: 44px; display: flex; align-items: center; gap: 20px 28px; flex-wrap: wrap; justify-content: center; }
.partners__label { font-weight: 600; color: #6B7A85; font-size: 15px; }
.partners__row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; }
.partner { display: inline-flex; align-items: center; justify-content: center; height: 80px; padding: 16px 26px; border: 1.5px solid #e2e9f0; border-radius: 12px; background: #fff; transition: all .15s ease; }
.partner img { height: 44px; width: auto; max-width: 210px; object-fit: contain; display: block; }
.partner:hover { border-color: color-mix(in srgb, var(--primary) 45%, transparent); box-shadow: 0 6px 18px rgba(12,58,102,.08); transform: translateY(-2px); }

/* ===== Блок 13. Финальная форма ===== */
.finalform { position: relative; overflow: hidden; padding: 96px 0; background-image: url(../images/dir-maldives.png); background-size: cover; background-position: center; background-repeat: no-repeat; }
.finalform__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(8,30,55,.82), rgba(8,30,55,.6)); }
.finalform__in { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.viasan .finalform__h2 { color: #fff; font-size: clamp(28px, 3.4vw, 38px); font-weight: 700; margin-bottom: 14px; text-wrap: balance; }
.finalform__sub { color: rgba(255,255,255,.92); font-size: 18px; margin-bottom: 22px; }
.finalform__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.finalform__list li { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 16px; font-weight: 500; }
.finalform__list li svg { color: #aef0c1; }
.finalform__card { background: #fff; border-radius: 18px; padding: 28px; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 16px; }
.finalform__card > .form { gap: 16px; }

/* ===== Формы ===== */
.form { display: flex; flex-direction: column; gap: 16px; }
.form .btn--block { margin-top: 8px; }
.form__field { display: flex; flex-direction: column; gap: 7px; }
.form__label { font-size: 13.5px; font-weight: 600; color: var(--dark); }
.form__input { font-family: var(--font-body); font-size: 16px; padding: 13px 15px; border: 1.5px solid #dde6ee; border-radius: 10px; background: #f8fafc; color: #2C3A45; transition: border-color .15s ease, background .15s ease; width: 100%; }
.form__input:focus { outline: none; border-color: var(--primary); background: #fff; }
.form__textarea { resize: vertical; min-height: 80px; }
.form__methods { display: flex; flex-wrap: wrap; gap: 8px; }
.form__method { font-family: var(--font-body); font-size: 14px; font-weight: 500; padding: 9px 15px; border: 1.5px solid #dde6ee; border-radius: 100px; background: #fff; color: #4a5963; cursor: pointer; transition: all .15s ease; }
.form__method:hover { border-color: color-mix(in srgb, var(--primary) 40%, transparent); }
.form__method.is-active { background: var(--primary); color: #fff; border-color: var(--primary); }
.form__agree { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; font-size: 12.5px; color: #8a98a3; line-height: 1.5; cursor: pointer; }
.form__agree input { margin-top: 2px; accent-color: var(--primary); flex-shrink: 0; width: 16px; height: 16px; }
.form__agree a { color: var(--primary); text-decoration: underline; }
.consent--error .form__agree { color: #d23b3b; }
.consent--error .form__agree input { accent-color: #d23b3b; outline: 2px solid #f3b4b4; outline-offset: 1px; border-radius: 3px; }
.form__err { margin-top: 10px; font-size: 13px; font-weight: 600; color: #d23b3b; }

/* ===== Cookie-баннер ===== */
.cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 99999; background: var(--dark); color: #fff; border-radius: 16px; box-shadow: 0 14px 44px rgba(8,30,55,.45); animation: cookieIn .3s ease; }
@keyframes cookieIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.cookie__in { max-width: var(--maxw); margin: 0 auto; padding: 18px 22px; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; justify-content: space-between; }
.cookie__text { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.9); max-width: 840px; }
.cookie__text a { color: #fff; text-decoration: underline; }
.cookie__actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie__decline { color: #fff; border-color: rgba(255,255,255,.5); }
.cookie__decline:hover { border-color: #fff; background: rgba(255,255,255,.12); }
@media (max-width: 640px) { .cookie { bottom: auto; top: 16px; } .cookie__in { flex-direction: column; align-items: stretch; gap: 14px; } .cookie__actions { } .cookie__actions .btn { flex: 1; } }

/* ===== Модалки ===== */
.modal { position: fixed; inset: 0; z-index: 300; background: rgba(8,30,55,.55); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; padding: 20px; animation: fadeIn .2s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.modal__box { background: #fff; border-radius: 20px; box-shadow: 0 30px 80px rgba(8,30,55,.35); width: 100%; max-width: 460px; max-height: 92vh; overflow-y: auto; padding: 34px 32px; position: relative; animation: popIn .25s cubic-bezier(.2,.9,.3,1.2); }
.modal__box--wide { max-width: 560px; }
@keyframes popIn { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
.modal__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; border: none; background: #f1f5f9; color: #6B7A85; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .15s ease; z-index: 2; }
.modal__close:hover { background: #e2e9f0; color: var(--dark); }

/* ===== Квиз ===== */
.quiz__bar { height: 6px; background: #eef2f6; border-radius: 100px; overflow: hidden; margin-bottom: 26px; }
.quiz__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--primary), var(--cta)); border-radius: 100px; transition: width .3s ease; }
.quiz__counter { font-size: 13px; font-weight: 600; color: var(--primary); text-transform: uppercase; letter-spacing: .04em; }
.quiz__q { font-family: var(--font-head); font-size: 23px; font-weight: 700; color: var(--dark); margin: 8px 0 4px; text-wrap: balance; }
.quiz__text { color: #5a6872; font-size: 15.5px; margin-bottom: 18px; }
.quiz__text--wide { max-width: 420px; margin-left: auto; margin-right: auto; }
.quiz__opts { display: flex; flex-direction: column; gap: 10px; margin: 18px 0 16px; }
.quiz__opt { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; border: 1.5px solid #dde6ee; border-radius: 12px; background: #f8fafc; font-family: var(--font-body); font-size: 16px; font-weight: 500; color: var(--dark); cursor: pointer; text-align: left; transition: all .15s ease; }
.quiz__opt svg { color: #c4d2dd; transition: all .15s ease; }
.quiz__opt:hover { border-color: var(--primary); background: #fff; transform: translateX(3px); }
.quiz__opt:hover svg, .quiz__opt.is-active svg { color: var(--primary); }
.quiz__opt.is-active { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 8%, #fff); }
.quiz__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quiz__back, .quiz__skip { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 14.5px; color: #8a98a3; padding: 6px 2px; transition: color .15s ease; }
.quiz__back:hover, .quiz__skip:hover { color: var(--primary); }
.quiz__submit { margin: 6px 0 12px; }
.quiz__lock { display: flex; align-items: center; gap: 7px; font-size: 13px; color: #8a98a3; justify-content: center; }
.quiz__lock svg { color: #2BA84A; }
.quiz__center { text-align: center; padding: 16px 0; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.quiz__spinner { width: 54px; height: 54px; border: 5px solid #eef2f6; border-top-color: var(--primary); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.quiz__loadtext { font-family: var(--font-head); font-size: 18px; font-weight: 600; color: var(--dark); }
.quiz__expert { display: inline-flex; align-items: center; gap: 12px; background: var(--light-bg); padding: 12px 18px; border-radius: 100px; font-size: 14px; color: #4a5963; }
.quiz__expert-ava { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--cta)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; font-family: var(--font-head); }
.quiz__ok { width: 70px; height: 70px; border-radius: 50%; background: color-mix(in srgb, #2BA84A 14%, #fff); color: #2BA84A; display: flex; align-items: center; justify-content: center; }
.quiz__subs { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 6px; }
.lead { display: flex; flex-direction: column; gap: 16px; }
.lead .quiz__text { margin-bottom: 0; }
.lead > .btn--block { margin-top: 0; }

/* ===== Футер ===== */
.footer { background: var(--dark); color: #cfe2f3; }
.footer__top { display: grid; grid-template-columns: 1.2fr 2fr; gap: 48px; padding: 56px 24px 36px; }
.footer .logo__text { color: #fff; }
.footer .logo__img { filter: brightness(0) invert(1); }
.footer__schedule { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #9bb8d4; margin: 18px 0 14px; }
.footer__phones { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.footer__phone { font-family: var(--font-head); font-weight: 700; font-size: 19px; color: #fff; }
.footer .msgr__btn { border-color: rgba(255,255,255,.2); color: #cfe2f3; width: auto; padding: 8px 14px; border-radius: 100px; }
.footer .msgr__btn:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
.footer .msgr { flex-wrap: wrap; }
.footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.footer__col { display: flex; flex-direction: column; gap: 11px; }
.footer__col-title { font-family: var(--font-head); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.footer__col a { font-size: 14.5px; color: #9bb8d4; transition: color .15s ease; }
.footer__col a:hover { color: #fff; }
.footer__dirs { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 22px 24px; border-top: 1px solid rgba(255,255,255,.08); }
.footer__dirs-label { color: #6f8aa6; font-size: 13.5px; margin-right: 4px; }
.footer__dirs a { font-size: 14px; color: #9bb8d4; transition: color .15s ease; }
.footer__dirs a:hover { color: #fff; }
.footer__bottom { background: #061f38; }
.footer__bottom-in { padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.footer__req { font-size: 13px; color: #6f8aa6; }
.footer__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-size: 13px; color: #6f8aa6; }
.footer__legal a { color: #9bb8d4; }
.footer__legal a:hover { color: #fff; }

/* ——— Адаптив ——— */
@media (max-width: 1080px) {
  .search__fields { grid-template-columns: repeat(3, 1fr); }
  .search__submit { grid-column: 1 / -1; }
  .dirs__grid { grid-template-columns: repeat(3, 1fr); }
  .reasons__grid, .services__grid, .leaders__grid, .promos__grid, .reviews__row { grid-template-columns: repeat(2, 1fr); }
  .reasons__grid .reason:nth-child(4) { grid-column: auto; }
  .about__intro { grid-template-columns: 1fr; gap: 32px; }
  .faqsec__in { grid-template-columns: 1fr; }
  .how { position: static; }
  .finalform__in { grid-template-columns: 1fr; gap: 32px; }
  .reviews__widget { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .hdr__nav { position: absolute; top: 100%; left: 0; right: 0; background: #fff; flex-direction: column; gap: 0; padding: 8px 0; box-shadow: var(--shadow); max-height: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: all .2s ease; }
  .hdr__nav.is-open { max-height: 320px; opacity: 1; pointer-events: auto; padding: 8px 0; }
  .hdr__nav a { padding: 12px 24px; }
  .hdr__burger { display: flex; }
  .msgr, .hdr__phone { display: none; }
  .hero__split-in { grid-template-columns: 1fr; gap: 32px; }
  .hero__media { order: -1; }
  .steps__row { flex-direction: column; }
  .steps__arrow { transform: rotate(90deg); justify-content: center; padding: 4px 0; }
  .footer__top { grid-template-columns: 1fr; gap: 32px; }
  .training__in { flex-direction: column; align-items: flex-start; }
  .tcard, .scard { flex-basis: 240px; }
}
@media (max-width: 720px) {
  .viasan { font-size: 16px; }
  .hdr__promo-text { font-size: 12px; }
  .search__fields { grid-template-columns: 1fr 1fr; }
  .dirs__grid, .dirs__grid--postcard { grid-template-columns: 1fr 1fr; }
  .sec__h2 { font-size: 27px; }
  .hero--immersive, .hero--center { padding-top: 64px; }
  .reasons__grid, .services__grid, .leaders__grid, .promos__grid, .reviews__row, .about__facts { grid-template-columns: 1fr; }
  .footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .search__fields { grid-template-columns: 1fr; }
  .dirs__grid, .dirs__grid--postcard { grid-template-columns: 1fr; }
  .hdr__promo-phone { display: none; }
  .footer__cols { grid-template-columns: 1fr; }
  .modal__box { padding: 28px 22px; }
  .tcard, .scard { flex-basis: 84%; }
}

/* ===== Hero с видеофоном (страница v2) ===== */
.hero--video { position: relative; display: flex; align-items: center; min-height: max(640px, 80vh); padding: 104px 0 92px; overflow: hidden; isolation: isolate; }
.hero--video .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero--video .hero__video-grad { position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(90deg, rgba(6,22,42,.94) 0%, rgba(6,22,42,.86) 24%, rgba(6,22,42,.6) 46%, rgba(6,22,42,.22) 70%, rgba(6,22,42,0) 92%),
  linear-gradient(0deg, rgba(6,22,42,.5) 0%, rgba(6,22,42,0) 34%); }
.hero--video .hero__video-in { position: relative; z-index: 1; }
.hero--video .hero__copy { max-width: clamp(600px, 38vw, 820px); margin-left: clamp(34px, 4vw, 96px); }
.hero--video .hero__h1 { text-shadow: 0 2px 22px rgba(4,16,32,.55), 0 1px 3px rgba(4,16,32,.5); }
.hero--video .hero__sub { color: #eaf2fb; text-shadow: 0 1px 14px rgba(4,16,32,.6); }
.hero--video .hero__markers li { text-shadow: 0 1px 10px rgba(4,16,32,.6); }
.hero--video .hero__eyebrow--onvideo { white-space: nowrap; background: rgba(255,255,255,.18); color: #fff; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.hero--video .hero__markers li svg { color: var(--cta); }
.hero--video .btn--ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.hero--video .btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.14); }
@media (max-width: 720px) {
  .hero--video { min-height: 560px; padding-top: 72px; }
  .hero--video .hero__copy { margin-left: 0; }
  .hero--video .hero__video-grad { background:
    linear-gradient(90deg, rgba(6,22,42,.9) 0%, rgba(6,22,42,.74) 60%, rgba(6,22,42,.5) 100%),
    linear-gradient(0deg, rgba(6,22,42,.6) 0%, rgba(6,22,42,0) 44%); }
}

/* ===== Направления 3×3 с крупными фото (лендинг v4) ===== */
.dirv4__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.dirv4 { background: #fff; border: 1px solid #eef2f6; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.dirv4:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.dirv4__media { position: relative; }
.dirv4__media image-slot { display: block; width: 100%; height: 230px; }
.dirv4__img { display: block; width: 100%; height: 230px; object-fit: cover; }
.dirv4__tag { position: absolute; top: 14px; left: 14px; z-index: 3; background: var(--cta); color: var(--cta-text, #fff); font-family: var(--font-head); font-weight: 700; font-size: 13px; padding: 6px 13px; border-radius: 100px; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.dirv4__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.dirv4__name { font-size: 22px; font-weight: 700; }
.dirv4__price { color: var(--primary); font-weight: 700; font-family: var(--font-head); font-size: 18px; }
.dirv4__desc { color: #5a6872; font-size: 15px; line-height: 1.55; margin: 2px 0 8px; flex: 1; }
.dirv4 .btn { margin-top: auto; }
@media (max-width: 900px) { .dirv4__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .dirv4__grid { grid-template-columns: 1fr; } .dirv4__media image-slot { height: 210px; } }



/* Фото-герой (вариант v4): тёплый скрим слева под текстом, люди справа яркие */
.hero--image .hero__video { object-fit: cover; object-position: 60% 20%; filter: saturate(1.08) contrast(1.03); }
.hero--image .hero__video-grad { background:
  linear-gradient(95deg, rgba(5,20,40,.9) 0%, rgba(6,24,46,.78) 22%, rgba(8,30,56,.5) 44%, rgba(8,30,56,.18) 64%, rgba(8,30,56,0) 82%),
  radial-gradient(120% 90% at 8% 50%, rgba(5,18,38,.55) 0%, rgba(5,18,38,0) 55%),
  linear-gradient(0deg, rgba(5,20,40,.5) 0%, rgba(5,20,40,0) 30%); }
.hero--image .hero__h1 { text-shadow: 0 2px 26px rgba(3,12,26,.7), 0 1px 4px rgba(3,12,26,.6); }
.hero--image .hero__sub { color: #f1f6fc; text-shadow: 0 1px 16px rgba(3,12,26,.75); }
/* Масштаб текста Hero для больших экранов (1920px+, 2К) */
.hero--video .hero__copy .hero__sub { font-size: clamp(17px, 1.2vw, 25px); margin-bottom: clamp(28px, 2.5vw, 52px); }
.hero--video .hero__markers { gap: clamp(14px, 1.5vw, 28px) clamp(20px, 2.8vw, 48px); margin-bottom: clamp(28px, 2.5vw, 52px); }
.hero--video .hero__markers li { font-size: clamp(14px, 0.95vw, 18px); }
.hero--video .hero__eyebrow { font-size: clamp(12px, 0.75vw, 16px); }
.hero--video .hero__ctas .btn { font-size: clamp(15px, 1vw, 20px); padding: clamp(14px, 1.1vw, 22px) clamp(26px, 2.2vw, 50px); }
.hero--video .hero__ctas { gap: clamp(14px, 1.2vw, 24px); }
@media (max-width: 720px) {
  .hero--image .hero__video { object-position: 68% center; }
  .hero--image .hero__video-grad { background:
    linear-gradient(95deg, rgba(5,20,40,.9) 0%, rgba(6,24,46,.72) 58%, rgba(8,30,56,.45) 100%),
    linear-gradient(0deg, rgba(5,20,40,.62) 0%, rgba(5,20,40,0) 46%); }
}

/* ——— Tourvisor: страны с ценами как карточки ——— */
.tvcountries { padding: 70px 0; background: var(--light-bg); }
.tvcountries__mod { margin-top: 8px; }
.tvcountries .TVCountryListComponent { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (min-width: 1500px) { .tvcountries .TVCountryListComponent { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 980px) { .tvcountries .TVCountryListComponent { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .tvcountries .TVCountryListComponent { grid-template-columns: 1fr; } }
.tvcountries .TVCountryListItemComponent { display: flex !important; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); height: 100%; padding: 0 !important; }
.tvcountries .TVCountryListItemMainImageWrapper { display: block !important; width: 100% !important; height: 190px !important; flex: none; }
.tvcountries .TVCountryListItemMainImageWrapper .TVCountryListItemGallery,
.tvcountries .TVCountryListItemMainImageWrapper .TVGallery,
.tvcountries .TVCountryListItemMainImageWrapper .TVGallContainer,
.tvcountries .TVCountryListItemMainImageWrapper .TVGallList,
.tvcountries .TVCountryListItemMainImageWrapper .TVPhotoGalleryImage { height: 100% !important; width: 100% !important; }
.tvcountries .TVCountryListItemSecondImageWrapper { display: none !important; }
.tvcountries .TVCountryListItemBodyWrapper { display: flex !important; flex-direction: column; flex: 1; padding: 16px 18px 18px !important; gap: 8px; }
.tvcountries .TVCountryListItemContent { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.6em; }
.tvcountries .TVCountryListItemFooter { margin-top: auto; }
/* футер: кнопки сверху, цена со стрелкой — отдельной строкой (чтобы не обрезалось в узких карточках) */
.tvcountries .TVCountryListItemFooter { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
.tvcountries .TVCountryListItemNavButtons, .tvcountries .TVCountryListItemTourPrice { width: 100% !important; }
.tvcountries .TVNavButtonsComponent { display: flex !important; flex-wrap: wrap; gap: 6px; }
.tvcountries .TVCountryListItemTourPrice .TVTourPriceLinkComponent { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; width: 100% !important; box-sizing: border-box; background: var(--cta) !important; color: #fff !important; padding: 11px 16px !important; border-radius: 10px !important; font-family: var(--font-head); font-weight: 700; transition: background .15s ease; }
.tvcountries .TVCountryListItemTourPrice .TVTourPriceLinkComponent:hover { background: var(--cta-dark, #e89a0c) !important; }
.tvcountries .TVCountryListItemTourPrice .TVTourPriceLinkComponent * { color: #fff !important; }
/* фото — строго на всю ширину карточки (перебиваем адаптив Турвизора) */
.tvcountries .TVCountryListComponent .TVCountryListItemComponent > .TVCountryListItemMainImageWrapper { display: block !important; width: 100% !important; max-width: 100% !important; height: 240px !important; margin: 0 !important; border-radius: 0 !important; flex: 0 0 auto !important; }
.tvcountries .TVCountryListItemComponent .TVCountryListItemGallery,
.tvcountries .TVCountryListItemComponent .PhotoGalleryComponent,
.tvcountries .TVCountryListItemComponent .TVGallery,
.tvcountries .TVCountryListItemComponent .TVGallContainer,
.tvcountries .TVCountryListItemComponent .TVGallList,
.tvcountries .TVCountryListItemComponent .TVPhotoGalleryImage { width: 100% !important; height: 100% !important; }
.tvcountries .TVCountryListItemComponent .TVCountryListItemBodyWrapper { width: 100% !important; box-sizing: border-box; }

/* ——— Свернуть до 3 рядов + «Показать ещё» ——— */
.tvcountries__more { text-align: center; margin-top: 28px; }
.tvcountries .TVCountryMoreButtonComponent { display: none !important; }
@media (max-width: 600px) { .tvcountries__mod:not(.is-expanded) .TVCountryListItemComponent:nth-child(n+4) { display: none !important; } }
@media (min-width: 601px) and (max-width: 980px) { .tvcountries__mod:not(.is-expanded) .TVCountryListItemComponent:nth-child(n+7) { display: none !important; } }
@media (min-width: 981px) and (max-width: 1499px) { .tvcountries__mod:not(.is-expanded) .TVCountryListItemComponent:nth-child(n+10) { display: none !important; } }
@media (min-width: 1500px) { .tvcountries__mod:not(.is-expanded) .TVCountryListItemComponent:nth-child(n+13) { display: none !important; } }

/* ——— Tourvisor: кнопка «Избранное» — левый край ——— */
.TVCartStickyButton.TVCartStickyButtonRight {
  right: auto !important;
  left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
}

/* ——— Tourvisor: убираем белую подложку / лишние отступы ——— */
.TVHotelsSearch.TVStyleTheme2,
.TVHotelTourDetailSearch.TVStyleTheme2 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Контейнер виджета не обрезает стрелки */
.search__tv { overflow: visible !important; }
.tv-search-form { overflow: visible !important; }

/* Стрелки навигации не выходят за белый фон на мобилке */
@media (max-width: 768px) {
  .TVMainFilter.TVSearchingFormFlexBlock { margin: 0 8px; }
  .TVHotelsSearch.TVStyleTheme2,
  .TVHotelTourDetailSearch.TVStyleTheme2 { padding: 10px 8px !important; }
}

/* Фильтры/табы не выходят за края на мобилке */
@media (max-width: 768px) {
  .tv-search-form [class*="TVFilter"],
  .tv-search-form [class*="TVSearchForm"],
  .tv-search-form [class*="TVResultsFilter"],
  .tv-search-form [class*="TVTabBar"],
  .tv-search-form [class*="TVTopBar"] { padding-left: 4px !important; padding-right: 4px !important; box-sizing: border-box; }

  /* Внешняя обёртка всего Tourvisor-приложения */
  .tv-search-form > div { overflow-x: hidden; }
}
