@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),
            url(fonts/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),
            url(fonts/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),
            url(fonts/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),
            url(fonts/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),
            url(fonts/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),
            url(fonts/montserrat-latin-500-normal-Dok2oTci.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src:
            url(fonts/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src:
            url(fonts/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src:
            url(fonts/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),
            url(fonts/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src:
            url(fonts/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),
            url(fonts/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src:
            url(fonts/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),
            url(fonts/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src:
            url(fonts/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src:
            url(fonts/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src:
            url(fonts/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),
            url(fonts/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src:
            url(fonts/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format("woff2"),
            url(fonts/montserrat-latin-ext-700-normal-DdDFr05Z.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src:
            url(fonts/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),
            url(fonts/montserrat-latin-700-normal-BWkrl476.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src:
            url(fonts/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src:
            url(fonts/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),
            url(fonts/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src:
            url(fonts/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format("woff2"),
            url(fonts/montserrat-vietnamese-800-normal-Chy8GRiB.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src:
            url(fonts/montserrat-latin-ext-800-normal-BBvmbyWk.woff2) format("woff2"),
            url(fonts/montserrat-latin-ext-800-normal-Wjq_OapB.woff) format("woff");
    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;
}
@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src:
            url(fonts/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),
            url(fonts/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff");
    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;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-cyrillic-ext-400-normal-B-Nhg57H.woff2) format("woff2"),
            url(fonts/ubuntu-cyrillic-ext-400-normal-BQUrPAlD.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-cyrillic-400-normal-D9OZd8lm.woff2) format("woff2"),
            url(fonts/ubuntu-cyrillic-400-normal-CD6XmiVF.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-greek-ext-400-normal-CeBDcuzJ.woff2) format("woff2"),
            url(fonts/ubuntu-greek-ext-400-normal-VZgpvyyF.woff) format("woff");
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-greek-400-normal-GaJa0t-K.woff2) format("woff2"),
            url(fonts/ubuntu-greek-400-normal-UX4bU-Ff.woff) format("woff");
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-latin-ext-400-normal-Bb6UNjxu.woff2) format("woff2"),
            url(fonts/ubuntu-latin-ext-400-normal-kv0aZEtN.woff) format("woff");
    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;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src:
            url(fonts/ubuntu-latin-400-normal-CQJ26Fy6.woff2) format("woff2"),
            url(fonts/ubuntu-latin-400-normal-ChuJk2Dr.woff) format("woff");
    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;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-cyrillic-ext-500-normal-AcePgoUe.woff2) format("woff2"),
            url(fonts/ubuntu-cyrillic-ext-500-normal-D_nARPSq.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-cyrillic-500-normal-BU9-HBoA.woff2) format("woff2"),
            url(fonts/ubuntu-cyrillic-500-normal-CwjDQ7H5.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-greek-ext-500-normal-B00wCqpo.woff2) format("woff2"),
            url(fonts/ubuntu-greek-ext-500-normal-C7ALJ6Zy.woff) format("woff");
    unicode-range: U+1F00-1FFF;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-greek-500-normal-B3ImYAyH.woff2) format("woff2"),
            url(fonts/ubuntu-greek-500-normal-D9iATQq0.woff) format("woff");
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-latin-ext-500-normal-DzrGfuVI.woff2) format("woff2"),
            url(fonts/ubuntu-latin-ext-500-normal-Cd8iAjtc.woff) format("woff");
    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;
}
@font-face {
    font-family: Ubuntu;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/ubuntu-latin-500-normal-CnjGCQfM.woff2) format("woff2"),
            url(fonts/ubuntu-latin-500-normal-BMp9VhBY.woff) format("woff");
    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;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2) format("woff2"),
            url(fonts/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff) format("woff");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),
            url(fonts/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),
            url(fonts/jetbrains-mono-greek-500-normal-D7SFKleX.woff) format("woff");
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2) format("woff2"),
            url(fonts/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff) format("woff");
    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;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),
            url(fonts/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff) format("woff");
    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;
}
@font-face {
    font-family: JetBrains Mono;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src:
            url(fonts/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),
            url(fonts/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff");
    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;
}
.tpz-home {
    --accent-25: #f0f6ff;
    --accent-50: #e6f5ff;
    --accent-100: #cce9ff;
    --accent-300: #66bdff;
    --accent-500: #0096ff;
    --accent-700: #0073cc;
    --accent-900: #004d99;
    --gray-00: #ffffff;
    --gray-25: #f9f9f9;
    --gray-50: #f4f6f8;
    --gray-100: #e2e6e9;
    --gray-200: #c4cdd4;
    --gray-300: #9aaab6;
    --gray-500: #627585;
    --gray-700: #3a4f60;
    --gray-900: #1a2d3e;
    --gray-950: #001027;
    --success-500: #22c55e;
    --warning-500: #f59e0b;
    --error-500: #ef4444;
    --info-500: #0096ff;
    --gray-950-a60: rgba(0, 16, 39, 0.6);
    --gray-950-a85: rgba(0, 16, 39, 0.85);
    --gray-00-a60: rgba(255, 255, 255, 0.6);
    --navy-500: #002d52;
    --cyan-500: #00faf9;
    --font-heading: "Montserrat", system-ui, sans-serif;
    --font-body: "Ubuntu", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
    --size-xs: 12px;
    --size-sm: 14px;
    --size-base: 16px;
    --size-lg: 18px;
    --size-xl: 20px;
    --size-2xl: 24px;
    --size-3xl: 32px;
    --size-4xl: 48px;
    --size-5xl: 72px;
    --size-caps: 15px;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;
    --line-height-base: 1.5;
    --line-height-tight: 1.2;
    --line-height-relaxed: 1.65;
    --letter-spacing-heading: -0.005em;
    --letter-spacing-label: 0.05em;
    --chamfer-none: 0px;
    --chamfer-sm: 6px;
    --chamfer-md: 10px;
    --chamfer-lg: 16px;
    --chamfer-xl: 50px;
    --chamfer-card: 40px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --shadow-sm: 0 1px 4px rgba(0, 16, 39, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 16, 39, 0.12);
    --shadow-lg: 0 8px 32px rgba(0, 16, 39, 0.18);
    --shadow-glow: 0 0 20px rgba(0, 45, 82, 0.4);
    --glow-edge-accent: linear-gradient(
            to bottom,
            rgba(0, 178, 255, 0.27),
            rgba(0, 178, 255, 0.12) 4px,
            rgba(0, 178, 255, 0) 10px
    );
    --control-height-md: 40px;
    --control-height-lg: 48px;
    --duration-fast: 0.15s;
    --duration-base: 0.2s;
    --duration-slow: 0.25s;
    --duration-reveal: 0.4s;
    --stagger-step: 70ms;
    --ease-standard: cubic-bezier(0.2, 0, 0.2, 1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --container-max: 1280px;
    --gutter: var(--space-6);
    --aspect-video: 16 / 9;
    --aspect-news: 1.85;
    --aspect-gallery: 4 / 3;
    --aspect-product: 2.3;
    --aspect-product-frame: 1.94;
    --bp-sm: 640px;
    --bp-md: 900px;
    --bp-lg: 1280px;
}
.tpz-home {
    --surface-default: var(--gray-00);
    --surface-subtle: var(--gray-50);
    --surface-control: var(--gray-25);
    --surface-muted: var(--gray-100);
    --surface-dark: var(--gray-950);
    --surface-action-primary: var(--accent-500);
    --surface-action-hover: var(--accent-700);
    --surface-action-subtle: var(--accent-50);
    --surface-panel: var(--accent-25);
    --surface-media: var(--gray-950);
    --surface-scrim: var(--gray-950-a60);
    --surface-backdrop: var(--gray-950-a85);
    --surface-brand: var(--navy-500);
    --text-default: var(--gray-900);
    --text-muted: var(--gray-500);
    --text-disabled: var(--gray-300);
    --text-on-dark: var(--gray-00);
    --text-on-dark-muted: var(--gray-00-a60);
    --text-on-action: var(--gray-00);
    --text-accent: var(--accent-500);
    --text-control: var(--navy-500);
    --text-error: var(--error-500);
    --text-success: var(--success-500);
    --border-default: var(--gray-200);
    --border-subtle: var(--gray-100);
    --border-strong: var(--gray-300);
    --border-action: var(--accent-500);
    --border-error: var(--error-500);
    --border-nav-divider: var(--cyan-500);
    --bg-success: var(--success-500);
    --bg-warning: var(--warning-500);
    --bg-error: var(--error-500);
    --bg-info: var(--info-500);
    --motion-control: var(--duration-fast) var(--ease-standard);
    --motion-overlay: var(--duration-base) var(--ease-out);
    --motion-media: var(--duration-slow) var(--ease-standard);
    --motion-reveal: var(--duration-reveal) var(--ease-out);
}
.ds-heading-4xl {
    font-family: var(--font-heading);
    font-size: var(--size-4xl);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-tight);
    letter-spacing: var(--letter-spacing-heading);
}
.ds-heading-2xl {
    font-family: var(--font-heading);
    font-size: var(--size-2xl);
    font-weight: var(--weight-semibold);
    line-height: var(--line-height-base);
}
.ds-heading-xl {
    font-family: var(--font-heading);
    font-size: var(--size-xl);
    font-weight: var(--weight-semibold);
    line-height: var(--line-height-base);
}
.ds-heading-lg {
    font-family: var(--font-heading);
    font-size: var(--size-lg);
    font-weight: var(--weight-medium);
    line-height: var(--line-height-base);
}
.ds-body-base {
    font-family: var(--font-body);
    font-size: var(--size-base);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-base);
}
.ds-body-sm {
    font-family: var(--font-body);
    font-size: var(--size-sm);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-relaxed);
}
.ds-body-sm-medium {
    font-family: var(--font-body);
    font-size: var(--size-sm);
    font-weight: var(--weight-medium);
    line-height: var(--line-height-relaxed);
}
.ds-body-xs {
    font-family: var(--font-body);
    font-size: var(--size-xs);
    font-weight: var(--weight-regular);
    line-height: var(--line-height-relaxed);
}
.ds-mono-xs {
    font-family: var(--font-mono);
    font-size: var(--size-xs);
    font-weight: var(--weight-medium);
    line-height: var(--line-height-relaxed);
    letter-spacing: var(--letter-spacing-label);
}
.ds-chamfer {
    --cut: var(--chamfer-md);
    clip-path: polygon(
            0 0,
            calc(100% - var(--cut)) 0,
            100% var(--cut),
            100% 100%,
            var(--cut) 100%,
            0 calc(100% - var(--cut))
    );
}
.ds-chamfer--bordered {
    position: relative;
    isolation: isolate;
    background: var(--chamfer-border-color, var(--border-default));
    --chamfer-inner-path: polygon(
            0 0,
            calc(100% - var(--cut) + var(--chamfer-border-width, 1px) * 0.586) 0,
            100% calc(var(--cut) - var(--chamfer-border-width, 1px) * 0.586),
            100% 100%,
            calc(var(--cut) - var(--chamfer-border-width, 1px) * 0.586) 100%,
            0 calc(100% - var(--cut) + var(--chamfer-border-width, 1px) * 0.586)
    );
}
.ds-chamfer--bordered:before {
    content: "";
    position: absolute;
    inset: var(--chamfer-border-width, 1px);
    z-index: -1;
    background: var(--chamfer-surface, var(--surface-default));
    clip-path: var(--chamfer-inner-path);
}
.tpz-home,
.tpz-home *,
.tpz-home *:before,
.tpz-home *:after {
    box-sizing: border-box;
}
.tpz-home {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--size-base);
    line-height: var(--line-height-base);
    color: var(--text-default);
    background: var(--surface-default);
    -webkit-font-smoothing: antialiased;
}
.tpz-home :where(h1),
.tpz-home :where(h2),
.tpz-home :where(h3),
.tpz-home :where(h4),
.tpz-home :where(p),
.tpz-home :where(figure) {
    margin: 0;
}
.tpz-home :where(img),
.tpz-home :where(video),
.tpz-home :where(iframe) {
    display: block;
    max-width: 100%;
}
.tpz-home :focus-visible {
    outline: 2px solid var(--border-action);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .tpz-home,
    .tpz-home *,
    .tpz-home *:before,
    .tpz-home *:after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
.Button__button {
    --cut: var(--chamfer-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--size-sm);
    font-weight: var(--weight-medium);
    line-height: var(--line-height-base);
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition:
            background-color var(--motion-control),
            color var(--motion-control);
}
.Button__button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}
.Button__md {
    padding: var(--space-3) var(--space-6);
    min-height: var(--control-height-md);
}
.Button__lg {
    padding: var(--space-4) var(--space-8);
    min-height: var(--control-height-lg);
    font-size: var(--size-base);
}
.Button__primary {
    background: var(--surface-action-primary);
    color: var(--text-on-action);
}
.Button__primary:hover:not(:disabled) {
    background: var(--surface-action-hover);
}
.Button__secondary {
    --chamfer-border-color: var(--border-default);
    --chamfer-surface: var(--surface-default);
    color: var(--text-default);
}
.Button__secondary:hover:not(:disabled) {
    --chamfer-border-color: var(--border-strong);
    --chamfer-surface: var(--surface-subtle);
}
.Button__ghost {
    background: transparent;
    color: var(--text-accent);
}
.Button__ghost:hover:not(:disabled) {
    background: var(--surface-action-primary);
    color: var(--text-on-action);
}
.IconButton__iconButton {
    --cut: var(--chamfer-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    cursor: pointer;
    transition:
            background-color var(--motion-control),
            color var(--motion-control);
}
.IconButton__iconButton:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}
.IconButton__md {
    width: var(--control-height-md);
    height: var(--control-height-md);
}
.IconButton__ghost {
    background: transparent;
    color: var(--text-default);
}
.IconButton__ghost:hover:not(:disabled) {
    background: var(--surface-subtle);
}
.NewsCard__card {
    --cut: var(--chamfer-lg);
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    background: var(--surface-default);
}
.NewsCard__media {
    --cut: var(--chamfer-lg);
    position: relative;
    display: block;
    aspect-ratio: var(--aspect-news);
    overflow: hidden;
    background: var(--surface-media);
}
.NewsCard__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--motion-media);
}
.NewsCard__card:hover .NewsCard__thumb {
    transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
    .NewsCard__card:hover .NewsCard__thumb {
        transform: none;
    }
}
.NewsCard__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-4) var(--space-4) var(--space-6);
    min-width: 0;
}
.NewsCard__date {
    color: var(--text-muted);
}
.NewsCard__title {
    text-decoration: none;
    color: var(--text-default);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
}
.NewsCard__card:hover .NewsCard__title {
    color: var(--text-accent);
}
.NewsCard__excerpt {
    color: var(--text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.NewsCard__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    margin-top: var(--space-2);
}
.NewsCard__plain {
    clip-path: none;
    background: none;
}
.NewsCard__plain .NewsCard__body {
    padding: var(--space-4) 0 0;
}
@media (min-width: 900px) {
    .NewsCard__lg {
        flex-direction: row;
        align-items: stretch;
    }
    .NewsCard__lg .NewsCard__media {
        flex: 0 0 58%;
        aspect-ratio: var(--aspect-news);
    }
    .NewsCard__lg .NewsCard__body {
        flex: 1;
        justify-content: center;
        gap: var(--space-3);
        padding: var(--space-8);
    }
    .NewsCard__lg .NewsCard__title {
        font-size: var(--size-2xl);
        -webkit-line-clamp: 4;
    }
    .NewsCard__lg.NewsCard__withActions .NewsCard__body {
        contain: size;
        justify-content: flex-start;
    }
    .NewsCard__lg.NewsCard__withActions .NewsCard__title {
        -webkit-line-clamp: 3;
    }
    .NewsCard__lg.NewsCard__withActions .NewsCard__excerpt {
        display: block;
        flex: 1 1 0;
        min-height: 0;
        -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 2em), transparent);
        mask-image: linear-gradient(to bottom, #000 calc(100% - 2em), transparent);
    }
    .NewsCard__lg.NewsCard__withActions .NewsCard__actions {
        margin-top: 0;
    }
    .NewsCard__lg.NewsCard__plain .NewsCard__body {
        padding: 0 0 0 var(--space-8);
    }
}
.tpz-home {
    --chrome-bg: #001027;
    --chrome-blue: #002d52;
    --chrome-white: #fff;
    --chrome-cyan: #00faf9;
    --chrome-accent: #0096ff;
    --chrome-accent-light: #00b2ff;
    --chrome-grey: #a9acaf;
    --chrome-search-bg: #f2f7ff;
    --chrome-search-border: #658cc8;
    --chrome-search-text: #222;
    --chrome-motion: all 0.3s ease 0s;
    --chrome-header-height: 136px;
}
@media (max-width: 1439.98px) {
    .tpz-home {
        --chrome-header-height: 108px;
    }
}
@media (max-width: 1199.98px) {
    .tpz-home {
        --chrome-header-height: 100px;
    }
}
@media (max-width: 991.98px) {
    .tpz-home {
        --chrome-header-height: 80px;
    }
}
.Advantages__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8) var(--space-12);
    margin: 0;
    padding: 0;
    list-style: none;
}
.Advantages__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: flex-start;
    min-width: 0;
}
.Advantages__icon {
    width: 48px;
    height: 48px;
    color: var(--text-accent);
    fill: currentColor;
}
.Advantages__title {
    margin: 0;
    color: var(--text-on-dark);
}
.Advantages__text {
    margin: 0;
    color: var(--gray-300);
}
@media (max-width: 900px) {
    .Advantages__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-8);
    }
}
@media (max-width: 640px) {
    .Advantages__grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    .Advantages__item {
        display: grid;
        grid-template-columns: 32px 1fr;
        gap: var(--space-2) var(--space-3);
        align-items: center;
    }
    .Advantages__icon {
        width: 32px;
        height: 32px;
    }
    .Advantages__title {
        font-size: var(--size-lg);
    }
    .Advantages__text {
        grid-column: 2;
        font-size: var(--size-sm);
    }
}
.CommerceBanners__order {
    --glow: rgba(0, 150, 255, 0.28);
}
.CommerceBanners__catalog {
    --glow: rgba(0, 250, 249, 0.16);
}
.CommerceBanners__scenes {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}
.CommerceBanners__scene {
    --cut: var(--chamfer-lg);
    --x: 50%;
    --y: 50%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: var(--space-12);
    align-items: center;
    padding: var(--space-12);
    color: var(--text-on-dark);
    background-color: var(--gray-900);
    background-image: radial-gradient(
            600px circle at var(--x) var(--y),
            var(--glow),
            transparent 70%
    );
    transition: background-color var(--motion-overlay);
}
.CommerceBanners__reversed .CommerceBanners__sceneText {
    order: 2;
}
.CommerceBanners__sceneText {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}
.CommerceBanners__text {
    max-width: 34rem;
    color: var(--gray-200);
}
.CommerceBanners__sceneTitle {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--size-3xl);
    font-weight: var(--weight-semibold);
    line-height: var(--line-height-tight);
}
.CommerceBanners__steps {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    margin: 0 0 0 calc(-1 * var(--space-3));
    padding: 0;
    list-style: none;
    counter-reset: step;
}
.CommerceBanners__step {
    position: relative;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + var(--space-8));
    color: var(--gray-200);
    counter-increment: step;
    transition:
            color var(--motion-control),
            background-color var(--motion-control);
}
.CommerceBanners__step:before {
    content: counter(step, decimal-leading-zero);
    position: absolute;
    left: var(--space-3);
    top: calc(var(--space-2) + 3px);
    font-family: var(--font-mono);
    font-size: var(--size-xs);
    color: var(--accent-300);
}
.CommerceBanners__steps[data-active] .CommerceBanners__step {
    color: var(--text-on-dark-muted);
}
.CommerceBanners__stepTrack {
    position: absolute;
    left: calc(var(--space-3) + var(--space-8));
    right: var(--space-3);
    bottom: 0;
    height: 2px;
    overflow: hidden;
}
.CommerceBanners__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    margin: 0;
}
.CommerceBanners__fact {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
    margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-3));
    padding: var(--space-2) var(--space-3);
    transition:
            opacity var(--motion-control),
            background-color var(--motion-control);
}
.CommerceBanners__facts[data-active] .CommerceBanners__fact {
    opacity: 0.45;
}
.CommerceBanners__factValue {
    font-family: var(--font-heading);
    font-size: var(--size-3xl);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-tight);
    color: var(--cyan-500);
}
.CommerceBanners__factLabel {
    margin: 0;
    color: var(--gray-300);
}
.CommerceBanners__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    align-items: center;
    margin-top: var(--space-2);
}
.CommerceBanners__art {
    --cut: var(--chamfer-md);
    position: relative;
    margin: 0;
    min-width: 0;
    overflow: hidden;
}
.CommerceBanners__shot {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--gray-700);
    transition: transform var(--motion-media);
}
.CommerceBanners__fan {
    position: relative;
    margin: 0;
    min-width: 0;
    aspect-ratio: 4 / 3;
}
.CommerceBanners__sheet {
    --cut: var(--chamfer-md);
    position: absolute;
    left: calc(var(--sheet) * 12%);
    top: calc(var(--sheet) * 14%);
    z-index: var(--layer);
    width: 72%;
    height: auto;
    border: 1px solid var(--gray-700);
    box-shadow: var(--shadow-lg);
    transition:
            transform var(--motion-media),
            box-shadow var(--motion-media);
}
@media (max-width: 900px) {
    .CommerceBanners__scene {
        grid-template-columns: 1fr;
        gap: var(--space-8);
        padding: var(--space-8);
    }
    .CommerceBanners__reversed .CommerceBanners__sceneText {
        order: 0;
    }
    .CommerceBanners__sceneTitle {
        font-size: var(--size-2xl);
    }
    .CommerceBanners__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .CommerceBanners__sheet {
        left: calc(var(--sheet) * 8%);
        top: calc(var(--sheet) * 9%);
        width: 80%;
    }
}
@media (max-width: 640px) {
    .CommerceBanners__scene {
        padding: var(--space-6);
    }
    .CommerceBanners__facts {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    .CommerceBanners__actions > * {
        flex: 1 1 100%;
    }
}
.Counters__scene {
    position: relative;
    isolation: isolate;
}
.Counters__frame {
    position: absolute;
    inset-block: calc(var(--space-12) * -1);
    inset-inline: calc(50% - 50vw);
    z-index: -1;
    display: block;
    overflow: hidden;
}
.Counters__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08) translate3d(0, var(--shift, 0px), 0);
}
.Counters__over {
    position: relative;
    padding-block: var(--space-12);
}
.Counters__over:before {
    content: "";
    position: absolute;
    inset-block: calc(var(--space-12) * -1);
    inset-inline: calc(50% - 50vw);
    z-index: -1;
    background: linear-gradient(180deg, #0412248c, #041224d1 70%, #041224eb);
}
.Counters__row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
    margin: 0;
    padding: 0;
    list-style: none;
}
.Counters__counter {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}
.Counters__value {
    font-family: var(--font-heading);
    font-size: var(--size-4xl);
    font-weight: var(--weight-bold);
    line-height: var(--line-height-tight);
    color: var(--text-on-dark);
    font-variant-numeric: tabular-nums;
}
.Counters__unit {
    font-size: var(--size-2xl);
    color: var(--accent-300);
}
.Counters__label {
    color: var(--gray-300);
}
@media (max-width: 900px) {
    .Counters__row {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-8) var(--space-6);
    }
}
@media (max-width: 640px) {
    .Counters__value {
        font-size: var(--size-3xl);
    }
    .Counters__unit {
        font-size: var(--size-xl);
    }
}
@media (prefers-reduced-motion: reduce) {
    .Counters__photo {
        transform: scale(1.08);
    }
}
.HomeHero__hero {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: calc(88vh - var(--chrome-header-height));
    min-height: calc(88svh - var(--chrome-header-height));
    overflow: hidden;
    background: var(--surface-dark);
    color: var(--text-on-dark);
}
.HomeHero__backgrounds {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.HomeHero__backgroundLayer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: opacity var(--motion-overlay);
}
.HomeHero__backgroundLayer[data-active] {
    opacity: 1;
}
.HomeHero__background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}
.HomeHero__backgroundOffset {
    --content: min(100%, var(--container-max));
    --photo-width: 840px;
    inset: auto;
    left: calc(
            (100% - var(--content)) / 2 + var(--gutter) + (var(--content) - 2 * var(--gutter)) * 0.375
    );
    top: 50%;
    z-index: 1;
    width: min(var(--photo-width), 100% - var(--gutter));
    aspect-ratio: var(--aspect-news);
    transform: translateY(-50%);
    mask-image: linear-gradient(to right, transparent, #000 30%);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 30%);
}
.HomeHero__backgroundOffset .HomeHero__background {
    object-position: center;
}
.HomeHero__backgroundOffset:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--surface-brand);
    opacity: 0.45;
}
.HomeHero__backgrounds:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(
            100deg,
            var(--surface-dark) 0%,
            var(--surface-dark) 30%,
            var(--surface-scrim) 70%,
            transparent 100%
    );
}
.HomeHero__container {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-8) var(--gutter);
}
.HomeHero__body {
    max-width: 60rem;
}
.HomeHero__bodyHalf {
    max-width: 50%;
}
.HomeHero__bodyWide {
    max-width: none;
    width: 100%;
}
.HomeHero__kicker {
    margin: 0 0 var(--space-3);
    color: var(--gray-300);
}
.HomeHero__leadNews {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (prefers-reduced-motion: no-preference) {
    .HomeHero__body {
        animation: HomeHero__heroSlideIn var(--motion-reveal) both;
    }
}
@keyframes HomeHero__heroSlideIn {
    0% {
        opacity: 0;
        transform: translateY(12px);
    }
}
.HomeHero__marks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4) var(--space-6);
    align-items: center;
    margin: 0 0 var(--space-6);
    padding: 0;
    list-style: none;
}
.HomeHero__mark {
    height: 72px;
    width: auto;
}
.HomeHero__title {
    margin: 0 0 var(--space-4);
    color: var(--text-on-dark);
    overflow-wrap: break-word;
}
.HomeHero__lead {
    max-width: 40rem;
    margin: 0 0 var(--space-6);
    font-size: var(--size-lg);
    color: var(--gray-200);
}
.HomeHero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
}
.HomeHero__groupsLayout {
    display: grid;
    grid-template-columns: minmax(0, 396px) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: stretch;
    margin-bottom: var(--space-6);
}
.HomeHero__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}
.HomeHero__groups > li {
    display: flex;
}
.HomeHero__group {
    --cut: var(--chamfer-lg);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--space-2);
    justify-content: space-between;
    aspect-ratio: 1 / 1;
    min-width: 0;
    padding: var(--space-4);
    text-decoration: none;
    background: var(--gray-900);
    transition: background var(--motion-control);
}
.HomeHero__group[data-active] {
    background: var(--gray-700);
}
.HomeHero__groupIcon {
    flex: none;
    width: 56px;
    height: 56px;
    opacity: 0.75;
    transition: opacity var(--motion-control);
}
.HomeHero__group:hover .HomeHero__groupIcon,
.HomeHero__group[data-active] .HomeHero__groupIcon {
    opacity: 1;
}
.HomeHero__groupName {
    font-family: var(--font-heading);
    font-weight: var(--weight-semibold);
    color: var(--text-on-dark);
}
.HomeHero__groupCount {
    margin-top: auto;
    color: var(--accent-300);
}
.HomeHero__group:hover .HomeHero__groupCount,
.HomeHero__group:focus-visible .HomeHero__groupCount {
    color: var(--text-on-dark);
}
.HomeHero__groupFrame {
    --cut: var(--chamfer-lg);
    position: relative;
    display: grid;
    min-height: 100%;
    overflow: hidden;
    background: var(--gray-900);
}
.HomeHero__groupShot {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity var(--motion-reveal);
}
.HomeHero__groupShot[data-active] {
    opacity: 1;
}
.HomeHero__rail {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--space-6);
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--gutter) var(--space-6);
}
.HomeHero__tab {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: stretch;
    padding: 0;
    font: inherit;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
}
.HomeHero__railCaption {
    display: none;
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-2) var(--gutter) var(--space-4);
    font-weight: var(--weight-medium);
    color: var(--text-on-dark);
}
.HomeHero__tabLabel {
    font-weight: var(--weight-medium);
    color: var(--gray-300);
    transition: color var(--motion-control);
}
.HomeHero__tab:hover .HomeHero__tabLabel,
.HomeHero__tab[aria-selected="true"] .HomeHero__tabLabel {
    color: var(--text-on-dark);
}
.HomeHero__tabTrack {
    position: relative;
    display: block;
    height: 2px;
    overflow: hidden;
    background: var(--gray-700);
}
.HomeHero__tabFill {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    width: 0;
    background: var(--accent-500);
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}
.HomeHero__tab[aria-selected="true"] .HomeHero__tabFill {
    animation-name: HomeHero__tabProgress;
}
.HomeHero__hero[data-held] .HomeHero__tabFill {
    animation-play-state: paused;
}
@keyframes HomeHero__tabProgress {
    0% {
        width: 0;
    }
    to {
        width: 100%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .HomeHero__tab[aria-selected="true"] .HomeHero__tabFill {
        width: 100%;
        animation: none;
    }
}
@media (pointer: coarse) {
    .HomeHero__tab {
        min-height: 44px;
        justify-content: flex-end;
    }
}
@media (min-width: 901px) and (max-height: 820px) {
    .HomeHero__container {
        padding-block: var(--space-6);
    }
    .HomeHero__group {
        aspect-ratio: auto;
        padding: var(--space-4);
    }
    .HomeHero__mark {
        height: 56px;
    }
    .HomeHero__lead {
        margin-bottom: var(--space-4);
    }
    .HomeHero__rail {
        padding-bottom: var(--space-4);
    }
}
@media (max-width: 900px) {
    .HomeHero__hero {
        min-height: 0;
    }
    .HomeHero__mark {
        height: 64px;
    }
    .HomeHero__rail {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4) var(--space-6);
    }
    .HomeHero__groupsLayout {
        grid-template-columns: 1fr;
    }
    .HomeHero__group {
        aspect-ratio: auto;
    }
    .HomeHero__groupFrame {
        display: none;
    }
    .HomeHero__bodyHalf {
        max-width: none;
    }
    .HomeHero__backgroundOffset {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: auto;
        width: auto;
        aspect-ratio: auto;
        transform: none;
        mask-image: none;
        -webkit-mask-image: none;
    }
}
@media (max-width: 640px) {
    .HomeHero__hero {
        min-height: calc(100vh - var(--chrome-header-height));
        min-height: calc(100svh - var(--chrome-header-height));
    }
    .HomeHero__backgrounds:after {
        background: linear-gradient(
                to bottom,
                transparent 0%,
                var(--surface-scrim) 28%,
                var(--gray-950-a85) 52%,
                var(--surface-dark) 100%
        );
    }
    .HomeHero__background {
        object-position: 75% 35%;
    }
    .HomeHero__container {
        padding: var(--space-6) var(--gutter) var(--space-8);
    }
    .HomeHero__title {
        -webkit-hyphens: auto;
        hyphens: auto;
        hyphenate-limit-chars: 10 4 3;
    }
    .HomeHero__titleSecondary {
        font-size: var(--size-3xl);
    }
    .HomeHero__marks {
        gap: var(--space-4);
        margin-bottom: var(--space-6);
    }
    .HomeHero__mark {
        height: 48px;
    }
    .HomeHero__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .HomeHero__rail {
        order: -1;
        grid-template-columns: repeat(5, 1fr);
        gap: var(--space-2);
        padding: var(--space-4) var(--gutter) 0;
    }
    .HomeHero__tab {
        position: relative;
        justify-content: flex-end;
        min-height: 44px;
    }
    .HomeHero__tabLabel {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        white-space: nowrap;
        clip-path: inset(50%);
    }
    .HomeHero__tabTrack {
        height: 3px;
    }
    .HomeHero__railCaption {
        display: block;
        order: -1;
    }
}
.MadeInRussia__block {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}
.MadeInRussia__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: var(--space-16);
    align-items: stretch;
}
.MadeInRussia__column {
    position: relative;
    min-width: 0;
    overflow: hidden;
}
.MadeInRussia__cards {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.MadeInRussia__card {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: flex-start;
    justify-content: center;
    padding: var(--space-8) 0;
    opacity: 0;
    transform: translate(calc(var(--offset, 0) * 100%));
    transition:
            transform var(--motion-reveal),
            opacity var(--motion-reveal);
}
.MadeInRussia__card[data-active] {
    opacity: 1;
}
.MadeInRussia__position {
    color: var(--text-accent);
}
.MadeInRussia__logo {
    height: 88px;
    width: auto;
}
.MadeInRussia__text {
    max-width: 30ch;
    margin: 0;
    color: var(--text-default);
}
.MadeInRussia__link {
    display: inline-flex;
    align-items: center;
    color: var(--text-accent);
    text-decoration: none;
    transition: color var(--motion-control);
}
@media (pointer: coarse) {
    .MadeInRussia__link {
        min-height: var(--control-height-lg);
    }
}
.MadeInRussia__link:hover {
    color: var(--text-default);
}
.MadeInRussia__fadeStart,
.MadeInRussia__fadeEnd {
    position: absolute;
    inset-block: 0;
    width: var(--space-8);
    opacity: 0;
    pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
    .MadeInRussia__fadeStart,
    .MadeInRussia__fadeEnd {
        animation: MadeInRussia__fog var(--duration-reveal) var(--ease-out);
    }
}
@keyframes MadeInRussia__fog {
    0%,
    60% {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.MadeInRussia__fadeStart {
    left: 0;
    background: linear-gradient(to right, var(--surface-muted), transparent);
}
.MadeInRussia__fadeEnd {
    right: 0;
    background: linear-gradient(to left, var(--surface-muted), transparent);
}
.MadeInRussia__frame {
    --cut: var(--chamfer-lg);
    position: relative;
    display: grid;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--surface-subtle);
}
.MadeInRussia__shot {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity var(--motion-reveal);
}
.MadeInRussia__shot[data-active] {
    opacity: 1;
}
.MadeInRussia__rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
}
.MadeInRussia__railItem {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    align-items: flex-start;
    padding: var(--space-3) 0 0;
    background: none;
    border: none;
    border-top: 2px solid var(--border-default);
    cursor: pointer;
    transition: border-color var(--motion-control);
}
.MadeInRussia__railItem:hover:not([aria-selected="true"]) {
    border-top-color: var(--text-muted);
}
.MadeInRussia__railBar {
    position: absolute;
    inset-inline: 0;
    top: -2px;
    height: 2px;
    overflow: hidden;
}
.MadeInRussia__railLabel {
    display: block;
    text-align: left;
    color: var(--text-muted);
}
.MadeInRussia__railItem[aria-selected="true"] .MadeInRussia__railLabel {
    color: var(--text-default);
}
.MadeInRussia__railLogo {
    height: 44px;
    width: auto;
    filter: grayscale(1);
    opacity: 0.45;
    transition:
            filter var(--motion-control),
            opacity var(--motion-control);
}
.MadeInRussia__railItem:hover .MadeInRussia__railLogo,
.MadeInRussia__railItem[aria-selected="true"] .MadeInRussia__railLogo {
    filter: none;
    opacity: 1;
}
.MadeInRussia__progress {
    display: none;
}
.MadeInRussia__bar {
    flex: 1 1 0;
    height: 3px;
    overflow: hidden;
    background: var(--border-default);
}
.MadeInRussia__fill {
    display: block;
    width: 0;
    height: 100%;
    background: var(--accent-500);
}
.MadeInRussia__fill[data-state="done"],
.MadeInRussia__fill[data-state="now"] {
    width: 100%;
}
@media (prefers-reduced-motion: no-preference) {
    .MadeInRussia__fill[data-state="run"] {
        animation: MadeInRussia__story-fill var(--story-ms, 5s) linear forwards;
    }
}
.MadeInRussia__block[data-paused] .MadeInRussia__fill {
    animation-play-state: paused;
}
@keyframes MadeInRussia__story-fill {
    0% {
        width: 0;
    }
    to {
        width: 100%;
    }
}
@media (max-width: 900px) {
    .MadeInRussia__layout {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }
    .MadeInRussia__frame {
        order: -1;
    }
    .MadeInRussia__progress {
        display: flex;
        gap: var(--space-2);
        margin-bottom: var(--space-6);
    }
    .MadeInRussia__column {
        min-height: 300px;
        touch-action: pan-y;
        cursor: pointer;
    }
    .MadeInRussia__rail,
    .MadeInRussia__position {
        display: none;
    }
    .MadeInRussia__logo {
        height: 56px;
    }
}
@media (max-width: 640px) {
    .MadeInRussia__column {
        min-height: 340px;
    }
}
.NewsStrip__strip {
    display: flex;
    flex-direction: column;
}
.NewsStrip__lead {
    display: flex;
    min-width: 0;
    touch-action: pan-y;
}
.NewsStrip__lead > * {
    flex: 1 1 auto;
}
.NewsStrip__controls {
    display: flex;
    flex-basis: 100%;
    gap: var(--space-2);
    align-items: center;
    margin-left: calc(-1 * var(--space-3));
}
.NewsStrip__dots {
    display: flex;
    align-items: center;
}
.NewsStrip__dot {
    display: grid;
    place-items: center;
    width: 32px;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}
.NewsStrip__dot:before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--border-strong);
    transition: background-color var(--motion-control);
}
.NewsStrip__dot:hover:before {
    background: var(--text-muted);
}
.NewsStrip__dot[aria-selected="true"]:before {
    background: var(--surface-action-primary);
}
.Partners__viewport {
    position: relative;
    overflow: hidden;
    mask-image: linear-gradient(
            to right,
            transparent 0,
            #000 var(--space-16),
            #000 calc(100% - var(--space-16)),
            transparent 100%
    );
    -webkit-mask-image: linear-gradient(
            to right,
            transparent 0,
            #000 var(--space-16),
            #000 calc(100% - var(--space-16)),
            transparent 100%
    );
}
.Partners__track {
    display: flex;
    gap: var(--space-12);
    align-items: center;
    width: max-content;
    margin: 0;
    padding: var(--space-4) 0;
    list-style: none;
    transform: translateZ(0);
    will-change: transform;
}
.Partners__item {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    height: 56px;
}
.Partners__logo {
    max-height: 56px;
    width: auto;
    height: auto;
    filter: grayscale(1);
    opacity: 0.75;
    transition:
            filter var(--motion-control),
            opacity var(--motion-control);
}
.Partners__item:hover .Partners__logo {
    filter: none;
    opacity: 1;
}
.Partners__still {
    overflow-x: auto;
}
.Partners__still .Partners__track {
    transform: none !important;
}
@media (max-width: 640px) {
    .Partners__viewport {
        mask-image: linear-gradient(
                to right,
                transparent 0,
                #000 var(--space-6),
                #000 calc(100% - var(--space-6)),
                transparent 100%
        );
        -webkit-mask-image: linear-gradient(
                to right,
                transparent 0,
                #000 var(--space-6),
                #000 calc(100% - var(--space-6)),
                transparent 100%
        );
    }
    .Partners__track {
        gap: var(--space-8);
    }
    .Partners__item {
        height: 40px;
    }
    .Partners__logo {
        max-height: 40px;
    }
}
.ProductCard__card {
    display: flex;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    transition: filter var(--motion-media);
}
.ProductCard__body {
    --cut: var(--chamfer-card);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    background: var(--surface-default);
    transition: background-color var(--motion-media);
}
.ProductCard__title {
    display: flex;
    flex: 1 1 auto;
    min-height: 80px;
    align-items: center;
    justify-content: center;
    padding: var(--space-2) var(--space-6);
    font-family: var(--font-heading);
    font-size: var(--size-caps);
    font-weight: var(--weight-extrabold);
    line-height: 1.2222;
    font-feature-settings:
            "liga" 0,
            "clig" 0;
    text-align: center;
    text-transform: uppercase;
    color: var(--text-control);
    overflow-wrap: break-word;
    transition: color var(--motion-media);
}
.ProductCard__frame {
    --cut: var(--chamfer-card);
    position: relative;
    display: block;
    width: calc(100% + 2px);
    aspect-ratio: var(--aspect-product-frame);
    overflow: hidden;
    background: var(--surface-default);
}
.ProductCard__photo {
    position: absolute;
    inset: var(--space-8);
    width: calc(100% - 2 * var(--space-8));
    height: calc(100% - 2 * var(--space-8));
    object-fit: contain;
    transition: transform var(--motion-media);
}
[data-fit="cover"] .ProductCard__photo {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ProductCard__card:hover .ProductCard__body,
.ProductCard__card:focus-visible .ProductCard__body {
    background: var(--surface-brand);
}
.ProductCard__card:hover .ProductCard__title,
.ProductCard__card:focus-visible .ProductCard__title {
    color: var(--text-on-dark);
}
.ProductCard__card:hover,
.ProductCard__card:focus-visible {
    filter: drop-shadow(var(--shadow-glow));
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
    [data-fit="contain"]:hover .ProductCard__photo {
        transform: scale(0.92);
    }
}
@media (max-width: 1199px) {
    .ProductCard__body,
    .ProductCard__frame {
        --cut: calc(var(--chamfer-card) * 0.75);
    }
    .ProductCard__title {
        font-size: var(--size-sm);
    }
}
@media (max-width: 991px) {
    .ProductCard__title {
        min-height: 70px;
    }
}
@media (max-width: 767px) {
    .ProductCard__body,
    .ProductCard__frame {
        --cut: calc(var(--chamfer-card) * 0.5);
    }
    .ProductCard__title {
        min-height: 45px;
        font-size: var(--size-xs);
        line-height: 1.1667;
        color: var(--text-default);
    }
    .ProductCard__photo {
        inset: var(--space-4);
        width: calc(100% - 2 * var(--space-4));
        height: calc(100% - 2 * var(--space-4));
    }
}
.ProductGrid__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-10);
    margin: 0;
    padding: 0;
    list-style: none;
}
.ProductGrid__grid > li {
    display: flex;
    min-width: 0;
}
.ProductGrid__grid > li > * {
    flex: 1 1 auto;
}
@media (max-width: 1199px) {
    .ProductGrid__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-8);
    }
}
@media (max-width: 767px) {
    .ProductGrid__grid {
        gap: var(--space-4);
    }
}
@media (max-width: 575px) {
    .ProductGrid__grid {
        grid-template-columns: 1fr;
    }
}
.SectionHead__head {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4) var(--space-6);
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-12);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--border-default);
}
.SectionHead__head.SectionHead__dark {
    border-bottom-color: var(--gray-700);
}
.SectionHead__link {
    display: inline-flex;
    flex: none;
    gap: var(--space-3);
    align-items: center;
    font-weight: var(--weight-medium);
    color: var(--text-default);
    text-decoration: none;
    transition: color var(--motion-control);
}
.SectionHead__dark .SectionHead__link {
    color: var(--text-on-dark);
}
.SectionHead__arrow {
    --cut: var(--chamfer-md);
    display: grid;
    place-items: center;
    width: var(--control-height-md);
    height: var(--control-height-md);
    color: var(--text-on-action);
    background: var(--surface-action-primary);
    transition: background-color var(--motion-control);
}
.SectionHead__arrow svg {
    transition: transform var(--motion-control);
}
.SectionHead__link:hover,
.SectionHead__link:focus-visible {
    color: var(--text-accent);
}
.SectionHead__link:hover .SectionHead__arrow,
.SectionHead__link:focus-visible .SectionHead__arrow {
    background: var(--surface-action-hover);
}
@media (prefers-reduced-motion: no-preference) {
    .SectionHead__link:hover .SectionHead__arrow svg {
        transform: translate(3px);
    }
}
.SectionHead__title {
    max-width: 28ch;
    margin: 0;
    color: var(--text-default);
    overflow-wrap: break-word;
}
.SectionHead__dark .SectionHead__title {
    color: var(--text-on-dark);
}
@media (max-width: 640px) {
    .SectionHead__head {
        margin-bottom: var(--space-8);
    }
    .SectionHead__title {
        font-size: var(--size-3xl);
        -webkit-hyphens: auto;
        hyphens: auto;
        hyphenate-limit-chars: 10 4 3;
    }
}
.SolutionsGrid__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    margin: 0;
    padding: 0;
    list-style: none;
}
.SolutionsGrid__grid > li {
    display: flex;
    min-width: 0;
    transition: filter var(--motion-media);
}
.SolutionsGrid__grid > li > * {
    flex: 1 1 auto;
}
.SolutionsGrid__card {
    --cut: var(--chamfer-lg);
    --chamfer-border-width: 1px;
    --chamfer-border-color: var(--border-strong);
    --chamfer-surface: var(--surface-muted);
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: background-color var(--motion-media);
}
.SolutionsGrid__card:hover,
.SolutionsGrid__card:focus-within {
    --chamfer-border-color: var(--surface-default);
    --chamfer-surface: var(--surface-default);
}
.SolutionsGrid__grid > li:hover,
.SolutionsGrid__grid > li:focus-within {
    filter: drop-shadow(var(--shadow-glow));
}
.SolutionsGrid__media {
    display: block;
    overflow: hidden;
    background: var(--surface-subtle);
}
.SolutionsGrid__image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.SolutionsGrid__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-4) var(--space-6);
}
.SolutionsGrid__title {
    color: var(--text-default);
    text-decoration: none;
    line-height: var(--line-height-tight);
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 10 4 3;
    overflow-wrap: break-word;
    transition: color var(--motion-control);
}
.SolutionsGrid__title:hover,
.SolutionsGrid__title:focus-visible {
    color: var(--text-accent);
}
.SolutionsGrid__text {
    margin: 0;
    color: var(--text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.SolutionsGrid__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}
.SolutionsGrid__tag {
    --cut: var(--chamfer-md);
    padding: var(--space-1) var(--space-3);
    color: var(--accent-700);
    background: var(--surface-action-subtle);
    white-space: nowrap;
}
.SolutionsGrid__action {
    margin-top: auto;
    padding-top: var(--space-2);
}
@media (max-width: 900px) {
    .SolutionsGrid__grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
}
@media (max-width: 640px) {
    .SolutionsGrid__text {
        -webkit-line-clamp: 2;
    }
    .SolutionsGrid__image {
        aspect-ratio: 2 / 1;
    }
    .SolutionsGrid__body {
        padding: var(--space-4) var(--space-4) var(--space-4);
    }
}
.HomePage__page {
    background: var(--surface-muted);
}
.HomePage__section {
    padding-block: var(--space-16);
    scroll-margin-top: var(--chrome-header-height);
}
.HomePage__tight {
    padding-block: var(--space-12);
}
.HomePage__light {
    background: var(--surface-muted);
    color: var(--text-default);
}
.HomePage__dark {
    background: var(--surface-dark);
    color: var(--text-on-dark);
}
.HomePage__dark + .HomePage__dark {
    border-top: 1px solid var(--gray-900);
}
.HomePage__container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding-inline: var(--gutter);
}
@media (max-width: 640px) {
    .HomePage__section {
        padding-block: var(--space-12);
    }
    .HomePage__tight {
        padding-block: var(--space-8);
    }
}
