/* Local Montserrat and Open Sans fonts */
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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/JTUSjIg1_i6t8kCHKm459WRhyzbi.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/JTUSjIg1_i6t8kCHKm459W1hyzbi.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/JTUSjIg1_i6t8kCHKm459WZhyzbi.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/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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/JTUSjIg1_i6t8kCHKm459Wlhyw.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/JTUSjIg1_i6t8kCHKm459WRhyzbi.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/JTUSjIg1_i6t8kCHKm459W1hyzbi.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/JTUSjIg1_i6t8kCHKm459WZhyzbi.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/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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/JTUSjIg1_i6t8kCHKm459Wlhyw.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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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;
}


:root {
    --sky-blue: #54ABDF;
    --deep-blue: #03213D;
    --white: #FFFFFF;
    --action-orange: #FF8A3D;
    --action-orange-hover: #FF7A2F;
    --link-on-light: #216D99;
    --link-on-dark: #9BD3F3;
    --focus-ring-dark: #03213D;
    --focus-ring-light: #FFFFFF;
    --ice-blue: #E2EEF4;
    --text-dark: #333333;
    --layout-max-width: 1360px;
    --layout-gutter: 40px;
}

@media (max-width: 1024px) {
    :root { --layout-gutter: 32px; }
}
@media (max-width: 640px) {
    :root { --layout-gutter: 24px; }
}

*, *::before, *::after {
    box-sizing: border-box;
}

body, html {
    margin: 0;
    padding: 0;
    font-family: 'Open Sans', sans-serif;
    -webkit-font-smoothing: antialiased;
    color: var(--text-dark);
    overflow-x: hidden;
}

body {
    padding-top: 90px;
}

html {
    scroll-padding-top: 90px;
}

main:focus {
    outline: none;
}

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 3000;
    transform: translateY(-150%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    color: var(--deep-blue);
    background: var(--white);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(10, 29, 45, 0.24);
    transition: transform 0.2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    /* Two-tone fallback stays visible on both light and dark surfaces. */
    outline: 3px solid var(--focus-ring-dark);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px var(--focus-ring-light);
    border-radius: 6px;
}

/* Build-inferred image ratios must follow responsive widths, not force a pixel height.
   Zero specificity lets every authored crop/fixed-height rule keep precedence. */
:where(img[data-ac-intrinsic-size]) { height: auto; }

/* Shared outer grid. Page-local container aliases consume these same tokens;
   intentionally narrower reading/form measures remain page-local. */
.container {
    max-width: var(--layout-max-width);
    margin: 0 auto;
    padding: 0 var(--layout-gutter);
    width: 100%;
    box-sizing: border-box;
}

/* Legacy outer aliases also fill flex sections instead of shrinking to their text. */
main > [class*="container"],
main > section > [class*="container"] {
    box-sizing: border-box;
    width: 100%;
}

@media (max-width: 1024px) {
    main > [class*="container"],
    main > section > [class*="container"] {
        padding-left: var(--layout-gutter);
        padding-right: var(--layout-gutter);
    }
}

/* Shared navigation. Never style page-local <header>/<nav> elements here. */
.site-header {
    --header-height: 90px;
    --header-button-pad: 19px;
    --header-link-blue: #216d99;
    --header-focus: var(--sky-blue);
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: var(--header-height);
    color: var(--white);
    background: var(--deep-blue);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 18px rgba(3, 33, 61, 0.08);
}

.site-header .header-flex {
    display: flex;
    align-items: center;
    gap: 28px;
    height: 100%;
    max-width: var(--layout-max-width);
    margin: 0 auto;
    padding: 0 var(--layout-gutter);
}

.site-header .logo-link {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 230px;
}

.site-header .logo-link :is(picture, img, .brand-logo) {
    display: block;
    width: 100%;
    height: auto;
}
.site-header .logo-link .brand-logo { color: var(--white); }
.site-header .logo-link .brand-logo--symbol { display: none; }

.site-header ul { list-style: none; margin: 0; padding: 0; }
.site-header a { color: inherit; text-decoration: none; }
.site-header :is(a, button):focus-visible {
    outline: 3px solid var(--header-focus);
    outline-offset: 5px;
    border-radius: 4px;
}

.site-header #main-nav { height: 100%; margin-left: auto; }
.site-header #main-nav > ul { display: flex; gap: 22px; height: 100%; }
.site-header #main-nav > ul > li { display: flex; align-items: stretch; }
.site-header #main-nav > ul > li > a,
.site-header .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--white);
    font: 600 14px/1.4 'Open Sans', sans-serif;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: inset 0 -3px transparent;
    transition: color 150ms ease, box-shadow 150ms ease;
}

.site-header .nav-dropdown-toggle::after {
    content: '';
    width: 6px;
    height: 6px;
    margin: -3px 2px 0;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 150ms ease;
}
.site-header .nav-dropdown-toggle[aria-expanded="true"]::after { transform: translateY(3px) rotate(225deg); }
.site-header #main-nav > ul > li > a:hover,
.site-header .nav-dropdown-toggle:hover,
.site-header .nav-dropdown-toggle[aria-expanded="true"] {
    color: #9bd3f3;
    box-shadow: inset 0 -3px var(--sky-blue);
}

/* The richer DE/EN menu structure and all tracking destinations are retained. */
.site-header .dropdown-menu {
    --header-focus: var(--header-link-blue);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 30px;
    position: fixed;
    inset: var(--header-height) 0 auto;
    max-height: calc(100vh - var(--header-height));
    max-height: calc(100dvh - var(--header-height));
    padding: 34px max(var(--layout-gutter), calc((100% - var(--layout-max-width)) / 2 + var(--layout-gutter))) 28px;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--deep-blue);
    background: var(--white);
    border-bottom: 1px solid #e4edf3;
    box-shadow: 0 18px 28px rgba(3, 33, 61, 0.12);
}
.site-header .dropdown-menu[hidden] { display: none; }
.site-header .mega-main { display: grid; gap: 28px; min-width: 0; }
.site-header .mega-menu--products .mega-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-header .mega-section h3,
.site-header .mega-side h3 {
    margin: 0 0 16px 12px;
    font: 600 12px/1.5 'Open Sans', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #657989;
}
.site-header .mega-heading-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.site-header .mega-overview { color: var(--header-link-blue); font-size: 13px; font-weight: 600; white-space: nowrap; }
.site-header .mega-industry-more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 8px 12px 0; white-space: normal; }
.site-header .mega-card-grid,
.site-header .mega-list-grid { display: grid; gap: 6px 24px; }
.site-header .mega-card-grid--two,
.site-header .mega-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-header .mega-menu--products .mega-card-grid--two { grid-template-columns: minmax(0, 1fr); }
.site-header .mega-list-grid--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.site-header .mega-card,
.site-header .mega-list-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    min-height: 86px;
    padding: 12px;
    border-radius: 10px;
    color: var(--deep-blue);
    transition: background 150ms ease;
}
.site-header :is(.mega-card, .mega-list-item):is(:hover, :focus-visible) { background: #f1f7fb; }
.site-header .mega-card strong,
.site-header .mega-list-item strong {
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.site-header .mega-card small,
.site-header .mega-list-item small {
    display: block;
    margin-top: 5px;
    color: #596c7b;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
.site-header .mega-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: #eef7fc;
    color: var(--header-link-blue);
}
.site-header .mega-icon svg { width: 22px; height: 22px; fill: none; }
.site-header .mega-side { align-self: start; min-width: 0; padding-left: 24px; border-left: 1px solid #e4edf3; }
.site-header .mega-side h3 { margin-left: 0; }
.site-header .mega-link-list { display: grid; gap: 2px; }
.site-header .mega-link-list a { display: block; padding: 9px 0; font-size: 14px; font-weight: 600; }
.site-header .mega-link-list a:hover { color: var(--header-link-blue); }
.site-header .mega-side-note { margin-top: 22px; padding-top: 22px; border-top: 1px solid #e4edf3; }
.site-header .mega-side-note strong { display: block; margin-bottom: 7px; font-size: 16px; font-weight: 600; line-height: 1.4; }
.site-header .mega-side-note span { display: block; color: #596c7b; font-size: 14px; line-height: 1.5; }
.site-header .mega-link-list--described { max-width: 480px; }
.site-header .mega-link-list--described a { min-height: 44px; padding: 10px 0; }
.site-header .mega-side-link-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 16px; line-height: 1.4; }
.site-header .mega-link-list--described small { display: block; margin-top: 4px; color: #596c7b; font-size: 14px; font-weight: 400; line-height: 1.5; }
.site-header .mega-side-callout {
    max-width: 480px;
    padding: 18px;
    border: 1px solid #dceaf3;
    border-radius: 10px;
    background: #f3f9fd;
}
.site-header .mega-link-list--described + .mega-side-callout { margin-top: 22px; }
.site-header .mega-side-callout strong { display: block; margin-bottom: 7px; font-size: 16px; font-weight: 600; line-height: 1.4; }
.site-header .mega-side-callout p { margin: 0; color: #596c7b; font-size: 14px; line-height: 1.5; }
.site-header .mega-side-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin-top: 12px;
    color: var(--header-link-blue);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.site-header .mega-side-cta:hover { color: var(--deep-blue); }
.site-header .mega-side-link-title svg,
.site-header .mega-side-cta svg { flex-shrink: 0; width: 18px; height: 18px; color: var(--header-link-blue); }
.site-header .mega-footer {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid #e4edf3;
}
.site-header .mega-footer a { color: var(--header-link-blue); font-size: 14px; font-weight: 600; }
.site-header .mega-story { margin-top: 24px; }
.site-header .mega-story-link {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
    border: 1px solid #dceaf3;
    border-radius: 12px;
    background: #eef7fc;
    color: var(--deep-blue);
    font-size: 14px;
    line-height: 1.5;
}
.site-header .mega-story-link:hover { border-color: var(--sky-blue); }
.site-header .mega-story-label { color: var(--header-link-blue); font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.site-header .mega-story-link strong { font-size: 20px; font-weight: 600; line-height: 1.35; }
.site-header .mega-story-cta { display: flex; gap: 10px; align-items: center; color: var(--header-link-blue); font-weight: 600; }
.site-header .mega-story-cta svg { width: 18px; height: 18px; flex-shrink: 0; }
.site-header .header-actions { display: flex; align-items: center; flex-shrink: 0; gap: 12px; }
.site-header .header-actions.mobile-only { display: none; }
.site-header .btn { padding: 12px var(--header-button-pad); font-size: 12px; font-weight: 600; }
.site-header .btn-orange { color: var(--deep-blue); }
.site-header .lang-switch { padding: 10px 0; font-size: 12px; font-weight: 600; }
.site-header .menu-toggle { display: none; }

/* Login choices share the header disclosure state and existing link tracking. */
.site-header .login-choice { --login-border: #54abdf66; position: relative; }
/* Fallback and enhanced trigger occupy the same space from the first paint. */
.site-header :is(.login-fallback, .login-toggle) { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-family: inherit; line-height: inherit; }
.site-header :is(.login-fallback, .login-toggle) svg { flex: none; width: 14px; height: 14px; transition: transform 150ms ease; }
.site-header .login-toggle[aria-expanded="true"] { background: var(--white); color: var(--deep-blue); border-color: var(--white); }
.site-header .login-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.site-header .login-panel {
    --header-focus: var(--sky-blue);
    position: absolute;
    right: 0;
    top: calc(100% + 13px);
    width: 370px;
    max-height: calc(100dvh - var(--header-height) - 20px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px;
    border: 1px solid var(--login-border);
    border-radius: 10px;
    background: var(--deep-blue);
    color: var(--white);
    box-shadow: 0 18px 52px rgba(3, 33, 61, .33);
    text-transform: none;
}
.site-header :is(.login-toggle, .login-fallback, .login-panel)[hidden] { display: none; }
.site-header .login-heading { margin: 8px 12px 12px; font: 600 14px/1.5 'Open Sans', sans-serif; color: var(--white); }
.site-header .login-option {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    gap: 13px;
    align-items: center;
    padding: 16px 12px;
    border-radius: 7px;
    color: var(--white);
    transition: background 130ms ease;
}
.site-header .login-option + .login-option { margin-top: 4px; border-top: 1px solid #9bd3f330; border-radius: 0 0 7px 7px; }
.site-header .login-option:hover { background: #ffffff12; }
.site-header .login-option:focus-visible { background: #ffffff12; outline: 2px solid var(--sky-blue); outline-offset: -2px; }
.site-header .login-option-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #9bd3f338; border-radius: 8px; background: #ffffff08; color: var(--link-on-dark); }
.site-header .login-option-icon svg { width: 23px; height: 23px; }
.site-header .login-option strong { display: block; font: 600 16px/1.5 'Open Sans', sans-serif; }
.site-header .login-option small { display: block; margin-top: 2px; font: 400 14px/1.5 'Open Sans', sans-serif; color: var(--link-on-dark); }
.site-header .login-arrow { display: flex; color: var(--link-on-dark); }
.site-header .login-arrow svg { width: 18px; height: 18px; }

/* Buttons */
.btn {
    padding: 10px 20px;
    border-radius: 25px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
    display: inline-block;
    cursor: pointer;
    border: none;
}

.btn-orange {
    background-color: var(--action-orange);
    color: var(--deep-blue);
}

.btn-orange:hover,
.btn-orange:active {
    background-color: var(--action-orange-hover);
    transform: translateY(-2px);
}

.btn-outline {
    border: 1px solid var(--sky-blue);
    color: var(--white);
    background: transparent;
}

.btn-outline:hover {
    background-color: var(--sky-blue);
    color: var(--deep-blue);
}

.lang-switch {
    font-size: 12px;
    font-weight: 700;
    color: var(--white);
    text-decoration: none;
}

/* Footer */
footer {
    background-color: var(--deep-blue);
    color: var(--white);
    padding: 100px 0 60px 0;
}

.footer-container {
    max-width: var(--layout-max-width);
    margin: 0 auto;
    padding: 0 var(--layout-gutter);
}

.footer-columns {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 80px;
}

.footer-column {
    flex: 1;
}

.footer-column h3 {
    color: var(--sky-blue);
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 15px;
}

.footer-column ul li a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}

.footer-column .footer-settings-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.footer-column ul li a:hover {
    color: var(--white);
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.social-links {
    display: flex;
    gap: 20px;
}

.social-icon {
    color: var(--white);
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    transition: color 0.2s;
}

.social-icon:hover {
    color: var(--sky-blue);
}

.copyright {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
}

/* Utility Classes */
.mobile-only {
    display: none;
}

.desktop-only {
    display: flex;
}

/* Disclosure breakpoint is mirrored in assets/navigation.js. */
@media (min-width: 1201px) {
    /* Compact white mega menus with a clear edge above the page content. */
    .site-header .dropdown-menu {
        padding: 24px max(var(--layout-gutter), calc((100% - var(--layout-max-width)) / 2 + var(--layout-gutter)));
        gap: 20px 26px;
        border-bottom: 2px solid var(--header-link-blue);
        box-shadow: 0 8px 16px rgba(3, 33, 61, 0.12);
    }
    .site-header .mega-main { gap: 20px; }
    .site-header .mega-card-grid,
    .site-header .mega-list-grid { gap: 2px 16px; }
    .site-header .mega-card,
    .site-header .mega-list-item { min-height: 64px; padding: 10px 8px; gap: 12px; }
    .site-header .mega-section h3 { margin: 0 0 10px 8px; }
    .site-header .mega-side h3 { margin-bottom: 10px; }
    .site-header .mega-side { padding-left: 20px; }
    .site-header .mega-footer { padding-top: 16px; }
    .site-header .login-choice.active::after { content: ''; position: absolute; left: 50%; top: calc(100% + 7px); width: 12px; height: 12px; background: var(--deep-blue); border-left: 1px solid var(--login-border); border-top: 1px solid var(--login-border); transform: translateX(-50%) rotate(45deg); pointer-events: none; }
    .site-header #main-nav > ul > li > :is(a, button):focus-visible { outline-offset: -6px; }
    /* Stable slots for the six current DE/EN labels: font swapping changes ink,
       never the neighboring navigation positions. Recheck when labels change. */
    .site-header .nav-item--products { --nav-slot: 6.85em; }
    .site-header .nav-item--features { --nav-slot: 6.84em; }
    .site-header .nav-item--prices { --nav-slot: 3.44em; }
    .site-header .nav-item--solutions { --nav-slot: 7.05em; }
    .site-header .nav-item--resources { --nav-slot: 8.09em; }
    .site-header .nav-item--company { --nav-slot: 6.53em; }
    html[lang="en"] .site-header .nav-item--features { --nav-slot: 5.1em; }
    html[lang="en"] .site-header .nav-item--prices { --nav-slot: 3.52em; }
    html[lang="en"] .site-header .nav-item--solutions { --nav-slot: 7.22em; }
    html[lang="en"] .site-header .nav-item--resources { --nav-slot: 7.27em; }
    .site-header #main-nav > ul > li > :is(a, button) { flex: none; inline-size: var(--nav-slot); }
    .site-header .nav-dropdown-toggle { justify-content: space-between; gap: 0; }
    .site-header .nav-dropdown-toggle::after { flex: none; }
    .site-header .header-actions.desktop-only .btn-orange { inline-size: calc(7.6em + 2 * var(--header-button-pad)); text-align: center; }
    html[lang="en"] .site-header .header-actions.desktop-only .btn-orange { inline-size: calc(6.3em + 2 * var(--header-button-pad)); }
    .site-header .header-actions.desktop-only :is(.login-fallback, .login-toggle) { inline-size: calc(3.2em + 25px + 2 * var(--header-button-pad)); justify-content: space-between; gap: 0; }
    .site-header .header-actions.desktop-only .lang-switch { inline-size: 1.5em; }
}
@media (min-width: 1201px) and (max-width: 1320px) {
    .site-header { --header-button-pad: 15px; }
    .site-header .header-flex { gap: 20px; }
    .site-header .logo-link { width: 200px; }
    .site-header #main-nav > ul { gap: 16px; }
}

@media (max-width: 1200px) {
    .site-header .header-flex { justify-content: space-between; }
    .site-header .header-actions.desktop-only { display: none; }
    .site-header .menu-toggle {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        padding: 8px;
        border: 0;
        border-radius: 6px;
        color: var(--white);
        background: transparent;
        cursor: pointer;
    }
    .site-header .menu-toggle span { display: block; width: 26px; height: 2px; background: currentColor; transition: transform 150ms ease, opacity 150ms ease; }
    .site-header .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(8px) rotate(45deg); }
    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .site-header .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-8px) rotate(-45deg); }
    .site-header #main-nav {
        --header-focus: var(--header-link-blue);
        display: none;
        position: fixed;
        inset: var(--header-height) 0 auto;
        height: calc(100vh - var(--header-height));
        height: calc(100dvh - var(--header-height));
        margin: 0;
        padding: 20px var(--layout-gutter) 32px;
        padding-bottom: max(32px, env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
        color: var(--deep-blue);
        background: var(--white);
    }
    .site-header.is-mobile-open #main-nav { display: block; }
    .site-header #main-nav > ul { display: block; height: auto; }
    .site-header #main-nav > ul > li { display: block; border-bottom: 1px solid #e6edf2; }
    .site-header #main-nav > ul > li > a,
    .site-header .nav-dropdown-toggle { width: 100%; justify-content: space-between; min-height: 60px; padding: 18px 4px; color: var(--deep-blue); font-size: 16px; }
    .site-header #main-nav > ul > li > a:hover,
    .site-header .nav-dropdown-toggle:hover,
    .site-header .nav-dropdown-toggle[aria-expanded="true"] { color: var(--header-link-blue); box-shadow: none; }
    .site-header .dropdown-menu { position: static; grid-template-columns: minmax(0, 1fr); max-height: none; padding: 8px 0 26px; gap: 24px; overflow: visible; border: 0; box-shadow: none; }
    .site-header .mega-side { padding: 20px 4px 0; border-left: 0; border-top: 1px solid #e4edf3; }
    .site-header .mega-section h3 { margin-left: 4px; }
    .site-header .mega-card, .site-header .mega-list-item { padding: 10px 4px; }
    .site-header .mega-story-link { max-width: 480px; }
    .site-header .header-actions.mobile-only { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: start; gap: 14px; padding: 26px 4px 0; }
    .site-header .header-actions.mobile-only .btn-outline,
    .site-header .header-actions.mobile-only .lang-switch { color: var(--deep-blue); }
    .site-header .header-actions.mobile-only .login-choice { display: contents; }
    .site-header .header-actions.mobile-only :is(.login-fallback, .login-toggle) { justify-content: center; }
    .site-header .header-actions.mobile-only .login-toggle[aria-expanded="true"] { border-color: var(--deep-blue); background: var(--deep-blue); color: var(--white); }
    .site-header .header-actions.mobile-only .login-panel { position: static; grid-column: 1 / -1; order: 2; width: 100%; max-height: none; overflow: visible; box-shadow: none; }
    .site-header .header-actions.mobile-only .btn { text-align: center; }
    .site-header .header-actions.mobile-only .lang-switch { min-height: 44px; }
}

@media (max-width: 640px) {
    .site-header .mega-menu--products .mega-main,
    .site-header .mega-card-grid--two,
    .site-header .mega-list-grid,
    .site-header .mega-list-grid--compact { grid-template-columns: minmax(0, 1fr); }
    .site-header .mega-card, .site-header .mega-list-item { min-height: 78px; }
    .site-header .mega-heading-row { flex-wrap: wrap; }
    .site-header .login-panel { padding: 6px; }
    .site-header .login-option { grid-template-columns: 34px minmax(0, 1fr) 16px; gap: 10px; padding: 14px 10px; }
    .site-header .login-option-icon { width: 34px; height: 38px; border: 0; }
    .site-header .login-heading { margin-inline: 10px; }
}
@media (max-width: 540px) {
    .site-header .logo-link { width: 72px; }
    .site-header .logo-link .brand-logo--wordmark { display: none; }
    .site-header .logo-link .brand-logo--symbol { display: block; aspect-ratio: 236.85 / 150; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header *, .site-header *::after,
    .site-header .login-toggle svg, .site-header .login-option { transition: none; }
}

@media (max-width: 1400px) {
    .hero { padding: 0 60px; }
    .hero h1 { font-size: 52px; }
}
@media (max-width: 1024px) {
    body { padding-top: 70px; }
    html { scroll-padding-top: 70px; }
    .site-header { --header-height: 70px; }
    .desktop-only { display: none; }
    .mobile-only { display: flex; }
    .footer-columns { flex-wrap: wrap; gap: 40px; }
    .footer-column { min-width: 200px; }
}
@media (max-width: 768px) {
    .hero { padding: 0 30px; }
    .hero h1 { font-size: 42px; }
}
