/* Gegenereerd door tools/fonts.mjs. Niet met de hand aanpassen. */
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 400; font-display: fallback; src: url(/assets/fonts/lexend-vietnamese-400.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; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 400; font-display: fallback; src: url(/assets/fonts/lexend-latin-ext-400.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 400; font-display: fallback; src: url(/assets/fonts/lexend-latin-400.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; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 700; font-display: fallback; src: url(/assets/fonts/lexend-vietnamese-700.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; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 700; font-display: fallback; src: url(/assets/fonts/lexend-latin-ext-700.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 700; font-display: fallback; src: url(/assets/fonts/lexend-latin-700.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; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 800; font-display: fallback; src: url(/assets/fonts/lexend-vietnamese-800.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; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 800; font-display: fallback; src: url(/assets/fonts/lexend-latin-ext-800.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 800; font-display: fallback; src: url(/assets/fonts/lexend-latin-800.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; }
@font-face { font-family: 'Readex Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/readex-arabic-400.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Readex Pro'; font-style: normal; font-weight: 700 800; font-display: swap; src: url(/assets/fonts/readex-arabic-700.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Vazirmatn'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/vazirmatn-arabic-400.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Vazirmatn'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/vazirmatn-arabic-700.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Vazirmatn'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/vazirmatn-arabic-800.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/golos-cyrillic-ext-400.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/golos-cyrillic-400.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/golos-cyrillic-ext-700.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/golos-cyrillic-700.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/golos-cyrillic-ext-800.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/golos-cyrillic-800.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notothai-thai-400.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notothai-thai-700.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notothai-thai-800.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; }
@font-face { font-family: 'Noto Sans Ethiopic'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notoethiopic-ethiopic-400.woff2) format('woff2'); unicode-range: U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE; }
@font-face { font-family: 'Noto Sans Ethiopic'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notoethiopic-ethiopic-700.woff2) format('woff2'); unicode-range: U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE; }
@font-face { font-family: 'Noto Sans Ethiopic'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notoethiopic-ethiopic-800.woff2) format('woff2'); unicode-range: U+030E, U+1200-1399, U+2D80-2DDE, U+AB01-AB2E, U+1E7E0-1E7E6, U+1E7E8-1E7EB, U+1E7ED-1E7EE, U+1E7F0-1E7FE; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notosc-site-400-0.woff2) format('woff2'); unicode-range: U+3001, U+3002, U+4E00, U+4E01, U+4E09, U+4E0A, U+4E0B, U+4E0D, U+4E0E, U+4E13, U+4E14, U+4E16, U+4E1A, U+4E24, U+4E25, U+4E2A, U+4E2D, U+4E34, U+4E3A, U+4E3B, U+4E3E, U+4E45, U+4E48, U+4E4B, U+4E4C, U+4E50, U+4E5F, U+4E60, U+4E66, U+4E86, U+4E8B, U+4E8E, U+4E9A, U+4E9B, U+4EA4, U+4EA7, U+4EAB, U+4EBA, U+4EC0, U+4EC5, U+4ECA, U+4ECB, U+4ECD, U+4ECE, U+4ED3, U+4ED6, U+4ED8, U+4EE4, U+4EE5, U+4EEC, U+4EF6, U+4EF7, U+4EFB, U+4EFD, U+4F18, U+4F1A, U+4F20, U+4F2F, U+4F46, U+4F4D, U+4F4E, U+4F4F, U+4F53, U+4F55, U+4F5C, U+4F60, U+4F7F, U+4F8B, U+4F8D, U+4F9B, U+4F9D, U+4FBF, U+4FC4, U+4FDD, U+4FE1, U+4FEE, U+5019, U+5047, U+505A, U+505C, U+50A8, U+50CF, U+513F, U+5141, U+5145, U+5148, U+5149, U+514B, U+514D, U+5165, U+5168, U+516C, U+516D, U+5170, U+5171, U+5173, U+5174, U+5176, U+5177, U+517C, U+5185, U+518D, U+5199, U+519C, U+51B3, U+51B5, U+51C0, U+51C6, U+51CF, U+51DD, U+51E0, U+51ED, U+51FA, U+51FB, U+5206, U+5212, U+5217, U+5219, U+521A, U+521B, U+521D, U+5220, U+5229, U+522B, U+5230, U+5236, U+524A, U+524D, U+5265, U+526A, U+526F, U+5272, U+529B, U+529E, U+52A0, U+52A1, U+52A8, U+52A9, U+52B3, U+52BF, U+52E4, U+5305, U+5308, U+5316, U+533A, U+533B, U+533F, U+5341, U+534F, U+5355, U+5357, U+5361, U+5370, U+5373, U+5385, U+5386, U+538B, U+539F, U+53A8, U+53BB, U+53C8, U+53CA, U+53CC, U+53CD, U+53D1, U+53D6, U+53D8, U+53E3, U+53E5, U+53EA, U+53EB, U+53EF, U+53F0, U+53F7, U+53F8, U+5404, U+5408, U+540C, U+540D, U+540E, U+5411, U+5417, U+5426, U+5427, U+542B, U+542C, U+542F, U+544A, U+5458, U+5468, U+548C, U+5496, U+54A8, U+54C1, U+54EA, U+552E, U+5546, U+5561, U+559C, U+5668, U+56DE, U+56E0, U+56E2, U+56ED, U+56F4, U+56FD, U+56FE, U+571F, U+5728, U+5730, U+573A, U+573E, U+5740, U+575B, U+5783, U+578B, U+57CE, U+57F9, U+57FA, U+5854, U+586B, U+5883, U+5899, U+58EB, U+58F0, U+5904, U+5907, U+590D, U+5916, U+591A, U+591F, U+5927, U+5929, U+592A, U+5931, U+5934, U+5939, U+5957, U+5973, U+597D, U+5982, U+5987, U+59CB, U+59D3, U+59FB, U+5A5A, U+5B50, U+5B55, U+5B57, U+5B58; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notosc-site-400-1.woff2) format('woff2'); unicode-range: U+5B66, U+5B83, U+5B88, U+5B89, U+5B8C, U+5B97, U+5B98, U+5B9A, U+5B9B, U+5B9C, U+5B9E, U+5BA1, U+5BA2, U+5BA4, U+5BB6, U+5BB9, U+5BBE, U+5BBF, U+5BC6, U+5BDF, U+5BF9, U+5BFB, U+5BFC, U+5C01, U+5C06, U+5C0A, U+5C0F, U+5C11, U+5C14, U+5C31, U+5C3C, U+5C3D, U+5C40, U+5C45, U+5C4F, U+5C55, U+5C5E, U+5C65, U+5C81, U+5C97, U+5DE5, U+5DF1, U+5DF2, U+5DFE, U+5E02, U+5E03, U+5E08, U+5E0C, U+5E15, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E55, U+5E72, U+5E73, U+5E74, U+5E76, U+5E7F, U+5E87, U+5E8A, U+5E8F, U+5E93, U+5E94, U+5E97, U+5E9C, U+5EA6, U+5EA7, U+5EFA, U+5F00, U+5F02, U+5F0F, U+5F20, U+5F3A, U+5F53, U+5F55, U+5F7C, U+5F81, U+5F85, U+5F88, U+5F8B, U+5F92, U+5F97, U+5FAE, U+5FB7, U+5FC3, U+5FC5, U+5FD7, U+5FEB, U+5FF5, U+6000, U+6001, U+600E, U+6015, U+601D, U+6025, U+6027, U+603B, U+606D, U+606F, U+60A8, U+60C5, U+60F3, U+610F, U+611F, U+613F, U+6162, U+61C2, U+6210, U+6211, U+6216, U+6237, U+623F, U+6240, U+624B, U+624D, U+6253, U+6258, U+6263, U+6269, U+626B, U+627E, U+627F, U+6280, U+628A, U+6295, U+62A4, U+62A5, U+62BD, U+62C5, U+62C9, U+62CD, U+62DB, U+62E8, U+62E9, U+62EC, U+62FF, U+6301, U+6307, U+6309, U+6311, U+6321, U+635F, U+636E, U+6392, U+63A5, U+63A8, U+63CF, U+63D0, U+641C, U+6469, U+64B0, U+652F, U+6536, U+6539, U+653E, U+653F, U+6548, U+6559, U+6570, U+6574, U+6587, U+6599, U+65AF, U+65B0, U+65B9, U+65BD, U+65CF, U+65E0, U+65E5, U+65F6, U+6602, U+660E, U+6613, U+662F, U+663E, U+666E, U+666F, U+66F4, U+66FF, U+6700, U+6708, U+6709, U+670D, U+671B, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+6761, U+6765, U+677E, U+677F, U+6784, U+6790, U+6797, U+679C, U+67B6, U+67D0, U+67E5, U+6807, U+680F, U+6811, U+6837, U+6838, U+6839, U+683C, U+6848, U+68C0, U+690D, U+695A, U+6A21, U+6A2A, U+6B21, U+6B22, U+6B27, U+6B3E, U+6B62, U+6B63, U+6B64, U+6B65, U+6B67, U+6B8B, U+6BB5, U+6BCD, U+6BCF, U+6BD4, U+6BD5, U+6BDB, U+6C0F, U+6C11, U+6C14, U+6C34, U+6C38, U+6C42, U+6C9F, U+6CA1, U+6CD5, U+6CE1, U+6CE2, U+6CE8, U+6CF0, U+6D01, U+6D32, U+6D3B, U+6D3E, U+6D41, U+6D45; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notosc-site-400-2.woff2) format('woff2'); unicode-range: U+6D4E, U+6D4F, U+6D74, U+6D88, U+6D89, U+6DF1, U+6DFB, U+6E05, U+6E90, U+6EE1, U+6EE5, U+706F, U+7092, U+70B9, U+70ED, U+7136, U+7167, U+7247, U+7248, U+724C, U+7259, U+7269, U+7279, U+72AF, U+72B6, U+72B9, U+72EC, U+73B0, U+73ED, U+7406, U+745E, U+74F7, U+751F, U+7528, U+7531, U+7532, U+7533, U+7535, U+7537, U+753B, U+754C, U+7559, U+7597, U+75BE, U+767B, U+767D, U+7684, U+76CA, U+76D1, U+76DF, U+76EE, U+76F4, U+76F8, U+770B, U+771F, U+773C, U+7740, U+7763, U+77E5, U+77ED, U+7801, U+7816, U+7840, U+786E, U+788D, U+793A, U+7981, U+79BB, U+79C1, U+79CD, U+79D2, U+79DF, U+79F0, U+79FB, U+7A0B, U+7A0D, U+7A3F, U+7A46, U+7A7A, U+7A81, U+7ACB, U+7AD9, U+7AE0, U+7AE5, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B51, U+7B54, U+7B5B, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7BF1, U+7C3F, U+7C4D, U+7C7B, U+7CCA, U+7CD5, U+7CFB, U+7D20, U+7D22, U+7D27, U+7EA0, U+7EA6, U+7EB7, U+7EB8, U+7EBF, U+7EC3, U+7EC6, U+7ECD, U+7ECF, U+7ED3, U+7ED9, U+7EDD, U+7EDF, U+7EED, U+7EF4, U+7EFF, U+7F29, U+7F51, U+7F57, U+7F6A, U+7F6E, U+7F8E, U+7FFB, U+8003, U+8005, U+800C, U+8033, U+804A, U+804C, U+8054, U+8058, U+80CC, U+80DC, U+80F6, U+80FD, U+8111, U+8131, U+8138, U+81EA, U+81F3, U+81F4, U+822C, U+8272, U+827A, U+8282, U+82B1, U+82F1, U+8303, U+8349, U+8350, U+8377, U+83DC, U+83F2, U+8404, U+8425, U+8461, U+85AA, U+85CF, U+865A, U+878D, U+884C, U+8865, U+8868, U+88AB, U+897F, U+8981, U+89C1, U+89C2, U+89C4, U+89C6, U+89C8, U+89D2, U+89E3, U+8A00, U+8B66, U+8BA1, U+8BA2, U+8BA4, U+8BA9, U+8BAD, U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBE, U+8BBF, U+8BC1, U+8BC6, U+8BC8, U+8BC9, U+8BCD, U+8BD1, U+8BD5, U+8BDA, U+8BDD, U+8BE2, U+8BE5, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8BFE, U+8C01, U+8C08, U+8C22, U+8C61, U+8D1F, U+8D23, U+8D25, U+8D26, U+8D27, U+8D28, U+8D2F, U+8D34, U+8D35, U+8D38, U+8D39, U+8D44, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DA3, U+8DDD, U+8DF3, U+8EAB, U+8F66, U+8F7B, U+8F7D, U+8F93, U+8FB9, U+8FBE, U+8FC7, U+8FD1, U+8FD4, U+8FD8, U+8FD9, U+8FDB, U+8FDC, U+8FDD, U+8FDE, U+8FEB; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/notosc-site-400-3.woff2) format('woff2'); unicode-range: U+8FF0, U+9000, U+9001, U+9002, U+9009, U+9014, U+901A, U+901F, U+9047, U+9053, U+9063, U+9075, U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+9152, U+9192, U+91CC, U+91CD, U+91CF, U+91D1, U+9488, U+949F, U+94AE, U+94B1, U+94F6, U+94FA, U+94FE, U+9500, U+9505, U+9519, U+952E, U+957F, U+95E8, U+95EA, U+95ED, U+95EE, U+95F2, U+95F4, U+9605, U+961F, U+9632, U+963B, U+963F, U+9644, U+9645, U+9650, U+9662, U+9664, U+9669, U+966A, U+9676, U+968F, U+9690, U+969C, U+96BE, U+96C6, U+96C7, U+9700, U+975E, U+9762, U+97E9, U+97F3, U+9875, U+9876, U+9879, U+987A, U+987B, U+987E, U+9884, U+9886, U+9891, U+9896, U+9898, U+989D, U+98DF, U+9910, U+996E, U+9986, U+9996, U+9A6C, U+9A8C, U+9A97, U+9AD8, U+9F50, U+9F84, U+FF01, U+FF08, U+FF09, U+FF0C, U+FF1A, U+FF1B, U+FF1F; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notosc-site-700-0.woff2) format('woff2'); unicode-range: U+3001, U+3002, U+4E00, U+4E01, U+4E09, U+4E0A, U+4E0B, U+4E0D, U+4E0E, U+4E13, U+4E14, U+4E16, U+4E1A, U+4E24, U+4E25, U+4E2A, U+4E2D, U+4E34, U+4E3A, U+4E3B, U+4E3E, U+4E45, U+4E48, U+4E4B, U+4E4C, U+4E50, U+4E5F, U+4E60, U+4E66, U+4E86, U+4E8B, U+4E8E, U+4E9A, U+4E9B, U+4EA4, U+4EA7, U+4EAB, U+4EBA, U+4EC0, U+4EC5, U+4ECA, U+4ECB, U+4ECD, U+4ECE, U+4ED3, U+4ED6, U+4ED8, U+4EE4, U+4EE5, U+4EEC, U+4EF6, U+4EF7, U+4EFB, U+4EFD, U+4F18, U+4F1A, U+4F20, U+4F2F, U+4F46, U+4F4D, U+4F4E, U+4F4F, U+4F53, U+4F55, U+4F5C, U+4F60, U+4F7F, U+4F8B, U+4F8D, U+4F9B, U+4F9D, U+4FBF, U+4FC4, U+4FDD, U+4FE1, U+4FEE, U+5019, U+5047, U+505A, U+505C, U+50A8, U+50CF, U+513F, U+5141, U+5145, U+5148, U+5149, U+514B, U+514D, U+5165, U+5168, U+516C, U+516D, U+5170, U+5171, U+5173, U+5174, U+5176, U+5177, U+517C, U+5185, U+518D, U+5199, U+519C, U+51B3, U+51B5, U+51C0, U+51C6, U+51CF, U+51DD, U+51E0, U+51ED, U+51FA, U+51FB, U+5206, U+5212, U+5217, U+5219, U+521A, U+521B, U+521D, U+5220, U+5229, U+522B, U+5230, U+5236, U+524A, U+524D, U+5265, U+526A, U+526F, U+5272, U+529B, U+529E, U+52A0, U+52A1, U+52A8, U+52A9, U+52B3, U+52BF, U+52E4, U+5305, U+5308, U+5316, U+533A, U+533B, U+533F, U+5341, U+534F, U+5355, U+5357, U+5361, U+5370, U+5373, U+5385, U+5386, U+538B, U+539F, U+53A8, U+53BB, U+53C8, U+53CA, U+53CC, U+53CD, U+53D1, U+53D6, U+53D8, U+53E3, U+53E5, U+53EA, U+53EB, U+53EF, U+53F0, U+53F7, U+53F8, U+5404, U+5408, U+540C, U+540D, U+540E, U+5411, U+5417, U+5426, U+5427, U+542B, U+542C, U+542F, U+544A, U+5458, U+5468, U+548C, U+5496, U+54A8, U+54C1, U+54EA, U+552E, U+5546, U+5561, U+559C, U+5668, U+56DE, U+56E0, U+56E2, U+56ED, U+56F4, U+56FD, U+56FE, U+571F, U+5728, U+5730, U+573A, U+573E, U+5740, U+575B, U+5783, U+578B, U+57CE, U+57F9, U+57FA, U+5854, U+586B, U+5883, U+5899, U+58EB, U+58F0, U+5904, U+5907, U+590D, U+5916, U+591A, U+591F, U+5927, U+5929, U+592A, U+5931, U+5934, U+5939, U+5957, U+5973, U+597D, U+5982, U+5987, U+59CB, U+59D3, U+59FB, U+5A5A, U+5B50, U+5B55, U+5B57, U+5B58; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notosc-site-700-1.woff2) format('woff2'); unicode-range: U+5B66, U+5B83, U+5B88, U+5B89, U+5B8C, U+5B97, U+5B98, U+5B9A, U+5B9B, U+5B9C, U+5B9E, U+5BA1, U+5BA2, U+5BA4, U+5BB6, U+5BB9, U+5BBE, U+5BBF, U+5BC6, U+5BDF, U+5BF9, U+5BFB, U+5BFC, U+5C01, U+5C06, U+5C0A, U+5C0F, U+5C11, U+5C14, U+5C31, U+5C3C, U+5C3D, U+5C40, U+5C45, U+5C4F, U+5C55, U+5C5E, U+5C65, U+5C81, U+5C97, U+5DE5, U+5DF1, U+5DF2, U+5DFE, U+5E02, U+5E03, U+5E08, U+5E0C, U+5E15, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E55, U+5E72, U+5E73, U+5E74, U+5E76, U+5E7F, U+5E87, U+5E8A, U+5E8F, U+5E93, U+5E94, U+5E97, U+5E9C, U+5EA6, U+5EA7, U+5EFA, U+5F00, U+5F02, U+5F0F, U+5F20, U+5F3A, U+5F53, U+5F55, U+5F7C, U+5F81, U+5F85, U+5F88, U+5F8B, U+5F92, U+5F97, U+5FAE, U+5FB7, U+5FC3, U+5FC5, U+5FD7, U+5FEB, U+5FF5, U+6000, U+6001, U+600E, U+6015, U+601D, U+6025, U+6027, U+603B, U+606D, U+606F, U+60A8, U+60C5, U+60F3, U+610F, U+611F, U+613F, U+6162, U+61C2, U+6210, U+6211, U+6216, U+6237, U+623F, U+6240, U+624B, U+624D, U+6253, U+6258, U+6263, U+6269, U+626B, U+627E, U+627F, U+6280, U+628A, U+6295, U+62A4, U+62A5, U+62BD, U+62C5, U+62C9, U+62CD, U+62DB, U+62E8, U+62E9, U+62EC, U+62FF, U+6301, U+6307, U+6309, U+6311, U+6321, U+635F, U+636E, U+6392, U+63A5, U+63A8, U+63CF, U+63D0, U+641C, U+6469, U+64B0, U+652F, U+6536, U+6539, U+653E, U+653F, U+6548, U+6559, U+6570, U+6574, U+6587, U+6599, U+65AF, U+65B0, U+65B9, U+65BD, U+65CF, U+65E0, U+65E5, U+65F6, U+6602, U+660E, U+6613, U+662F, U+663E, U+666E, U+666F, U+66F4, U+66FF, U+6700, U+6708, U+6709, U+670D, U+671B, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+6761, U+6765, U+677E, U+677F, U+6784, U+6790, U+6797, U+679C, U+67B6, U+67D0, U+67E5, U+6807, U+680F, U+6811, U+6837, U+6838, U+6839, U+683C, U+6848, U+68C0, U+690D, U+695A, U+6A21, U+6A2A, U+6B21, U+6B22, U+6B27, U+6B3E, U+6B62, U+6B63, U+6B64, U+6B65, U+6B67, U+6B8B, U+6BB5, U+6BCD, U+6BCF, U+6BD4, U+6BD5, U+6BDB, U+6C0F, U+6C11, U+6C14, U+6C34, U+6C38, U+6C42, U+6C9F, U+6CA1, U+6CD5, U+6CE1, U+6CE2, U+6CE8, U+6CF0, U+6D01, U+6D32, U+6D3B, U+6D3E, U+6D41, U+6D45; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notosc-site-700-2.woff2) format('woff2'); unicode-range: U+6D4E, U+6D4F, U+6D74, U+6D88, U+6D89, U+6DF1, U+6DFB, U+6E05, U+6E90, U+6EE1, U+6EE5, U+706F, U+7092, U+70B9, U+70ED, U+7136, U+7167, U+7247, U+7248, U+724C, U+7259, U+7269, U+7279, U+72AF, U+72B6, U+72B9, U+72EC, U+73B0, U+73ED, U+7406, U+745E, U+74F7, U+751F, U+7528, U+7531, U+7532, U+7533, U+7535, U+7537, U+753B, U+754C, U+7559, U+7597, U+75BE, U+767B, U+767D, U+7684, U+76CA, U+76D1, U+76DF, U+76EE, U+76F4, U+76F8, U+770B, U+771F, U+773C, U+7740, U+7763, U+77E5, U+77ED, U+7801, U+7816, U+7840, U+786E, U+788D, U+793A, U+7981, U+79BB, U+79C1, U+79CD, U+79D2, U+79DF, U+79F0, U+79FB, U+7A0B, U+7A0D, U+7A3F, U+7A46, U+7A7A, U+7A81, U+7ACB, U+7AD9, U+7AE0, U+7AE5, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B51, U+7B54, U+7B5B, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7BF1, U+7C3F, U+7C4D, U+7C7B, U+7CCA, U+7CD5, U+7CFB, U+7D20, U+7D22, U+7D27, U+7EA0, U+7EA6, U+7EB7, U+7EB8, U+7EBF, U+7EC3, U+7EC6, U+7ECD, U+7ECF, U+7ED3, U+7ED9, U+7EDD, U+7EDF, U+7EED, U+7EF4, U+7EFF, U+7F29, U+7F51, U+7F57, U+7F6A, U+7F6E, U+7F8E, U+7FFB, U+8003, U+8005, U+800C, U+8033, U+804A, U+804C, U+8054, U+8058, U+80CC, U+80DC, U+80F6, U+80FD, U+8111, U+8131, U+8138, U+81EA, U+81F3, U+81F4, U+822C, U+8272, U+827A, U+8282, U+82B1, U+82F1, U+8303, U+8349, U+8350, U+8377, U+83DC, U+83F2, U+8404, U+8425, U+8461, U+85AA, U+85CF, U+865A, U+878D, U+884C, U+8865, U+8868, U+88AB, U+897F, U+8981, U+89C1, U+89C2, U+89C4, U+89C6, U+89C8, U+89D2, U+89E3, U+8A00, U+8B66, U+8BA1, U+8BA2, U+8BA4, U+8BA9, U+8BAD, U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBE, U+8BBF, U+8BC1, U+8BC6, U+8BC8, U+8BC9, U+8BCD, U+8BD1, U+8BD5, U+8BDA, U+8BDD, U+8BE2, U+8BE5, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8BFE, U+8C01, U+8C08, U+8C22, U+8C61, U+8D1F, U+8D23, U+8D25, U+8D26, U+8D27, U+8D28, U+8D2F, U+8D34, U+8D35, U+8D38, U+8D39, U+8D44, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DA3, U+8DDD, U+8DF3, U+8EAB, U+8F66, U+8F7B, U+8F7D, U+8F93, U+8FB9, U+8FBE, U+8FC7, U+8FD1, U+8FD4, U+8FD8, U+8FD9, U+8FDB, U+8FDC, U+8FDD, U+8FDE, U+8FEB; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/notosc-site-700-3.woff2) format('woff2'); unicode-range: U+8FF0, U+9000, U+9001, U+9002, U+9009, U+9014, U+901A, U+901F, U+9047, U+9053, U+9063, U+9075, U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+9152, U+9192, U+91CC, U+91CD, U+91CF, U+91D1, U+9488, U+949F, U+94AE, U+94B1, U+94F6, U+94FA, U+94FE, U+9500, U+9505, U+9519, U+952E, U+957F, U+95E8, U+95EA, U+95ED, U+95EE, U+95F2, U+95F4, U+9605, U+961F, U+9632, U+963B, U+963F, U+9644, U+9645, U+9650, U+9662, U+9664, U+9669, U+966A, U+9676, U+968F, U+9690, U+969C, U+96BE, U+96C6, U+96C7, U+9700, U+975E, U+9762, U+97E9, U+97F3, U+9875, U+9876, U+9879, U+987A, U+987B, U+987E, U+9884, U+9886, U+9891, U+9896, U+9898, U+989D, U+98DF, U+9910, U+996E, U+9986, U+9996, U+9A6C, U+9A8C, U+9A97, U+9AD8, U+9F50, U+9F84, U+FF01, U+FF08, U+FF09, U+FF0C, U+FF1A, U+FF1B, U+FF1F; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notosc-site-800-0.woff2) format('woff2'); unicode-range: U+3001, U+3002, U+4E00, U+4E01, U+4E09, U+4E0A, U+4E0B, U+4E0D, U+4E0E, U+4E13, U+4E14, U+4E16, U+4E1A, U+4E24, U+4E25, U+4E2A, U+4E2D, U+4E34, U+4E3A, U+4E3B, U+4E3E, U+4E45, U+4E48, U+4E4B, U+4E4C, U+4E50, U+4E5F, U+4E60, U+4E66, U+4E86, U+4E8B, U+4E8E, U+4E9A, U+4E9B, U+4EA4, U+4EA7, U+4EAB, U+4EBA, U+4EC0, U+4EC5, U+4ECA, U+4ECB, U+4ECD, U+4ECE, U+4ED3, U+4ED6, U+4ED8, U+4EE4, U+4EE5, U+4EEC, U+4EF6, U+4EF7, U+4EFB, U+4EFD, U+4F18, U+4F1A, U+4F20, U+4F2F, U+4F46, U+4F4D, U+4F4E, U+4F4F, U+4F53, U+4F55, U+4F5C, U+4F60, U+4F7F, U+4F8B, U+4F8D, U+4F9B, U+4F9D, U+4FBF, U+4FC4, U+4FDD, U+4FE1, U+4FEE, U+5019, U+5047, U+505A, U+505C, U+50A8, U+50CF, U+513F, U+5141, U+5145, U+5148, U+5149, U+514B, U+514D, U+5165, U+5168, U+516C, U+516D, U+5170, U+5171, U+5173, U+5174, U+5176, U+5177, U+517C, U+5185, U+518D, U+5199, U+519C, U+51B3, U+51B5, U+51C0, U+51C6, U+51CF, U+51DD, U+51E0, U+51ED, U+51FA, U+51FB, U+5206, U+5212, U+5217, U+5219, U+521A, U+521B, U+521D, U+5220, U+5229, U+522B, U+5230, U+5236, U+524A, U+524D, U+5265, U+526A, U+526F, U+5272, U+529B, U+529E, U+52A0, U+52A1, U+52A8, U+52A9, U+52B3, U+52BF, U+52E4, U+5305, U+5308, U+5316, U+533A, U+533B, U+533F, U+5341, U+534F, U+5355, U+5357, U+5361, U+5370, U+5373, U+5385, U+5386, U+538B, U+539F, U+53A8, U+53BB, U+53C8, U+53CA, U+53CC, U+53CD, U+53D1, U+53D6, U+53D8, U+53E3, U+53E5, U+53EA, U+53EB, U+53EF, U+53F0, U+53F7, U+53F8, U+5404, U+5408, U+540C, U+540D, U+540E, U+5411, U+5417, U+5426, U+5427, U+542B, U+542C, U+542F, U+544A, U+5458, U+5468, U+548C, U+5496, U+54A8, U+54C1, U+54EA, U+552E, U+5546, U+5561, U+559C, U+5668, U+56DE, U+56E0, U+56E2, U+56ED, U+56F4, U+56FD, U+56FE, U+571F, U+5728, U+5730, U+573A, U+573E, U+5740, U+575B, U+5783, U+578B, U+57CE, U+57F9, U+57FA, U+5854, U+586B, U+5883, U+5899, U+58EB, U+58F0, U+5904, U+5907, U+590D, U+5916, U+591A, U+591F, U+5927, U+5929, U+592A, U+5931, U+5934, U+5939, U+5957, U+5973, U+597D, U+5982, U+5987, U+59CB, U+59D3, U+59FB, U+5A5A, U+5B50, U+5B55, U+5B57, U+5B58; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notosc-site-800-1.woff2) format('woff2'); unicode-range: U+5B66, U+5B83, U+5B88, U+5B89, U+5B8C, U+5B97, U+5B98, U+5B9A, U+5B9B, U+5B9C, U+5B9E, U+5BA1, U+5BA2, U+5BA4, U+5BB6, U+5BB9, U+5BBE, U+5BBF, U+5BC6, U+5BDF, U+5BF9, U+5BFB, U+5BFC, U+5C01, U+5C06, U+5C0A, U+5C0F, U+5C11, U+5C14, U+5C31, U+5C3C, U+5C3D, U+5C40, U+5C45, U+5C4F, U+5C55, U+5C5E, U+5C65, U+5C81, U+5C97, U+5DE5, U+5DF1, U+5DF2, U+5DFE, U+5E02, U+5E03, U+5E08, U+5E0C, U+5E15, U+5E26, U+5E2E, U+5E38, U+5E45, U+5E55, U+5E72, U+5E73, U+5E74, U+5E76, U+5E7F, U+5E87, U+5E8A, U+5E8F, U+5E93, U+5E94, U+5E97, U+5E9C, U+5EA6, U+5EA7, U+5EFA, U+5F00, U+5F02, U+5F0F, U+5F20, U+5F3A, U+5F53, U+5F55, U+5F7C, U+5F81, U+5F85, U+5F88, U+5F8B, U+5F92, U+5F97, U+5FAE, U+5FB7, U+5FC3, U+5FC5, U+5FD7, U+5FEB, U+5FF5, U+6000, U+6001, U+600E, U+6015, U+601D, U+6025, U+6027, U+603B, U+606D, U+606F, U+60A8, U+60C5, U+60F3, U+610F, U+611F, U+613F, U+6162, U+61C2, U+6210, U+6211, U+6216, U+6237, U+623F, U+6240, U+624B, U+624D, U+6253, U+6258, U+6263, U+6269, U+626B, U+627E, U+627F, U+6280, U+628A, U+6295, U+62A4, U+62A5, U+62BD, U+62C5, U+62C9, U+62CD, U+62DB, U+62E8, U+62E9, U+62EC, U+62FF, U+6301, U+6307, U+6309, U+6311, U+6321, U+635F, U+636E, U+6392, U+63A5, U+63A8, U+63CF, U+63D0, U+641C, U+6469, U+64B0, U+652F, U+6536, U+6539, U+653E, U+653F, U+6548, U+6559, U+6570, U+6574, U+6587, U+6599, U+65AF, U+65B0, U+65B9, U+65BD, U+65CF, U+65E0, U+65E5, U+65F6, U+6602, U+660E, U+6613, U+662F, U+663E, U+666E, U+666F, U+66F4, U+66FF, U+6700, U+6708, U+6709, U+670D, U+671B, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+6761, U+6765, U+677E, U+677F, U+6784, U+6790, U+6797, U+679C, U+67B6, U+67D0, U+67E5, U+6807, U+680F, U+6811, U+6837, U+6838, U+6839, U+683C, U+6848, U+68C0, U+690D, U+695A, U+6A21, U+6A2A, U+6B21, U+6B22, U+6B27, U+6B3E, U+6B62, U+6B63, U+6B64, U+6B65, U+6B67, U+6B8B, U+6BB5, U+6BCD, U+6BCF, U+6BD4, U+6BD5, U+6BDB, U+6C0F, U+6C11, U+6C14, U+6C34, U+6C38, U+6C42, U+6C9F, U+6CA1, U+6CD5, U+6CE1, U+6CE2, U+6CE8, U+6CF0, U+6D01, U+6D32, U+6D3B, U+6D3E, U+6D41, U+6D45; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notosc-site-800-2.woff2) format('woff2'); unicode-range: U+6D4E, U+6D4F, U+6D74, U+6D88, U+6D89, U+6DF1, U+6DFB, U+6E05, U+6E90, U+6EE1, U+6EE5, U+706F, U+7092, U+70B9, U+70ED, U+7136, U+7167, U+7247, U+7248, U+724C, U+7259, U+7269, U+7279, U+72AF, U+72B6, U+72B9, U+72EC, U+73B0, U+73ED, U+7406, U+745E, U+74F7, U+751F, U+7528, U+7531, U+7532, U+7533, U+7535, U+7537, U+753B, U+754C, U+7559, U+7597, U+75BE, U+767B, U+767D, U+7684, U+76CA, U+76D1, U+76DF, U+76EE, U+76F4, U+76F8, U+770B, U+771F, U+773C, U+7740, U+7763, U+77E5, U+77ED, U+7801, U+7816, U+7840, U+786E, U+788D, U+793A, U+7981, U+79BB, U+79C1, U+79CD, U+79D2, U+79DF, U+79F0, U+79FB, U+7A0B, U+7A0D, U+7A3F, U+7A46, U+7A7A, U+7A81, U+7ACB, U+7AD9, U+7AE0, U+7AE5, U+7B14, U+7B26, U+7B2C, U+7B49, U+7B51, U+7B54, U+7B5B, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7BF1, U+7C3F, U+7C4D, U+7C7B, U+7CCA, U+7CD5, U+7CFB, U+7D20, U+7D22, U+7D27, U+7EA0, U+7EA6, U+7EB7, U+7EB8, U+7EBF, U+7EC3, U+7EC6, U+7ECD, U+7ECF, U+7ED3, U+7ED9, U+7EDD, U+7EDF, U+7EED, U+7EF4, U+7EFF, U+7F29, U+7F51, U+7F57, U+7F6A, U+7F6E, U+7F8E, U+7FFB, U+8003, U+8005, U+800C, U+8033, U+804A, U+804C, U+8054, U+8058, U+80CC, U+80DC, U+80F6, U+80FD, U+8111, U+8131, U+8138, U+81EA, U+81F3, U+81F4, U+822C, U+8272, U+827A, U+8282, U+82B1, U+82F1, U+8303, U+8349, U+8350, U+8377, U+83DC, U+83F2, U+8404, U+8425, U+8461, U+85AA, U+85CF, U+865A, U+878D, U+884C, U+8865, U+8868, U+88AB, U+897F, U+8981, U+89C1, U+89C2, U+89C4, U+89C6, U+89C8, U+89D2, U+89E3, U+8A00, U+8B66, U+8BA1, U+8BA2, U+8BA4, U+8BA9, U+8BAD, U+8BAE, U+8BB0, U+8BB2, U+8BB8, U+8BBE, U+8BBF, U+8BC1, U+8BC6, U+8BC8, U+8BC9, U+8BCD, U+8BD1, U+8BD5, U+8BDA, U+8BDD, U+8BE2, U+8BE5, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8BFE, U+8C01, U+8C08, U+8C22, U+8C61, U+8D1F, U+8D23, U+8D25, U+8D26, U+8D27, U+8D28, U+8D2F, U+8D34, U+8D35, U+8D38, U+8D39, U+8D44, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DA3, U+8DDD, U+8DF3, U+8EAB, U+8F66, U+8F7B, U+8F7D, U+8F93, U+8FB9, U+8FBE, U+8FC7, U+8FD1, U+8FD4, U+8FD8, U+8FD9, U+8FDB, U+8FDC, U+8FDD, U+8FDE, U+8FEB; }
@font-face { font-family: 'Noto Sans SC'; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/notosc-site-800-3.woff2) format('woff2'); unicode-range: U+8FF0, U+9000, U+9001, U+9002, U+9009, U+9014, U+901A, U+901F, U+9047, U+9053, U+9063, U+9075, U+9080, U+90A3, U+90AE, U+90E8, U+90FD, U+9152, U+9192, U+91CC, U+91CD, U+91CF, U+91D1, U+9488, U+949F, U+94AE, U+94B1, U+94F6, U+94FA, U+94FE, U+9500, U+9505, U+9519, U+952E, U+957F, U+95E8, U+95EA, U+95ED, U+95EE, U+95F2, U+95F4, U+9605, U+961F, U+9632, U+963B, U+963F, U+9644, U+9645, U+9650, U+9662, U+9664, U+9669, U+966A, U+9676, U+968F, U+9690, U+969C, U+96BE, U+96C6, U+96C7, U+9700, U+975E, U+9762, U+97E9, U+97F3, U+9875, U+9876, U+9879, U+987A, U+987B, U+987E, U+9884, U+9886, U+9891, U+9896, U+9898, U+989D, U+98DF, U+9910, U+996E, U+9986, U+9996, U+9A6C, U+9A8C, U+9A97, U+9AD8, U+9F50, U+9F84, U+FF01, U+FF08, U+FF09, U+FF0C, U+FF1A, U+FF1B, U+FF1F; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-lexend.woff2) format('woff2'); unicode-range: U+E2, U+103, U+173, U+FC, U+E7, U+F1, U+EA, U+1EBF, U+1EC7; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-golos.woff2) format('woff2'); unicode-range: U+411, U+44A, U+43B, U+433, U+430, U+440, U+441, U+43A, U+438, U+423, U+457, U+43D, U+44C; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-vazirmatn.woff2) format('woff2'); unicode-range: U+627, U+644, U+639, U+631, U+628, U+64A, U+629, U+641, U+633, U+6CC, U+62F; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-notoethiopic.woff2) format('woff2'); unicode-range: U+1275, U+130D, U+122D, U+129B; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-notothai.woff2) format('woff2'); unicode-range: U+E44, U+E17, U+E22; }
@font-face { font-family: 'NOWEWO Names'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/names-notosc.woff2) format('woff2'); unicode-range: U+4E2D, U+6587; }

/* Maten: gemeten op Kavelradar (docs/ontwerp-zoals-kavelradar.md). Kleuren en vormen: huisstijl van mascotte Nala (nacht-indigo, lila, zon, perzik, mint; Ruben 2026-10-18).
   Alleen logical properties (inline/block), zodat rechts-naar-links (Arabisch) vanzelf klopt. */
:root {
  /* Lettertype op één plek. Lexend voor Latijn en Vietnamees; voor schriften die Lexend niet heeft
     neemt de browser per teken het volgende lettertype: Arabisch (ook Farsi), Cyrillisch, Thai, Ethiopisch (Tigrinya), Chinees. */
  --font-main: 'Lexend', 'Readex Pro', 'Golos Text', 'Noto Sans Thai', 'Noto Sans Ethiopic', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans CJK SC', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --bg: #F1F2FE;
  --bg-grad: linear-gradient(135deg, #F8F9FF 0%, #F1F2FE 50%, #EBEEFF 100%);
  --card: #FFFFFF;
  --text: #1E293B;
  --heading: #0F172A;
  --muted: #4B5568;
  --light: #5B6478;
  --border: #DBDBF8;
  --line: #EDEEFB;
  --brand: #3F3CBB;
  --brand-hover: #3330A1;
  --soft: #F5F4FD;
  --accent: #3F3CBB;
  --accent-hover: #3330A1;
  --accent-soft: #EDEEFB;
  --accent-text: #3330A1;
  --lilac: #5B58DB;
  --ink: #161545;
  --sun: #FCD34D;
  --peach: #FF7B90;
  --mint: #34D399;
  --grad: linear-gradient(135deg, #3F3CBB 0%, #5B58DB 100%);
  --office: #065F46;
  --office-soft: #D1FAE5;
  --warn-bg: #FEF7EC;
  --warn-text: #8A5208;
  --warn-border: #F9DFB6;
  --error: #B42323;

  --r-field: 12px;
  --r-btn: 14px;
  --r-mid: 16px;
  --r-card: 24px;
  --r-pill: 999px;
  --shadow-lg: 0 24px 48px -16px rgba(63, 60, 187, 0.22);
  --shadow-sm: 0 1px 2px rgba(63, 60, 187, 0.05), 0 6px 18px -8px rgba(63, 60, 187, 0.12);
  --shadow-btn: 0 8px 18px -8px rgba(63, 60, 187, 0.55);

  --page-max: 1440px;
  --gutter: 24px;
  --read-col: 760px;
  --intro-max: 640px;
  --block-gap: 32px;
  --footer-gap: 96px;
  --gap-btn: 20px; /* tekst tot knop, overal gelijk (Kavelradar) */
  --header-h: 72px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
/* De achtergrond ook op html (Kavelradar, 2026-10-23): anders tekent Chrome de body-achtergrond door naar het venster, en
   dat stuk bleef bij snel wisselen tussen licht en donker soms in het oude thema staan. Geen overgang op deze achtergrond. */
html { -webkit-text-size-adjust: 100%; scroll-padding-block-start: calc(var(--header-h) + 16px); background-color: var(--bg); }
body {
  font-family: var(--font-main);
  font-size: 17px;
  line-height: 1.5;
  color: var(--text);
  background: var(--bg); background-image: var(--bg-grad); min-height: 100vh;
  -webkit-tap-highlight-color: transparent;
  overflow-wrap: normal;
  word-break: normal;
}
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
ul, ol { list-style: none; }
.icon { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .icon-flip, [dir="rtl"] .link-arrow .icon, [dir="rtl"] .back-link .icon { transform: scaleX(-1); }
.nw { white-space: nowrap; }
:lang(ar) *, :lang(fa) *, :lang(ti) * { letter-spacing: 0 !important; }
/* Farsi/Dari (ook de taalnaam in het taalmenu): Vazirmatn eerst voor het Arabische schrift, want Readex Pro mist Perzische letters. */
:lang(fa) { font-family: 'Lexend', 'Vazirmatn', var(--font-main); }
/* Tekst van gebruikers in een andere schrijfrichting (bijv. Engelse vacature op een Arabische pagina): leesvolgorde per alinea, wel rechts uitgelijnd. */
[dir="rtl"] [lang]:not(html):not(a[hreflang]) { unicode-bidi: plaintext; text-align: right !important; text-align-last: right; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

.skip { position: absolute; inset-inline-start: 8px; inset-block-start: -60px; background: var(--brand); color: #fff; padding: 10px 16px; border-radius: var(--r-pill); z-index: 300; font-weight: 700; }
.skip:focus { inset-block-start: 8px; }

.wrap { max-width: var(--page-max); margin-inline: auto; padding-inline: var(--gutter); }
.read-col { max-width: calc(var(--read-col) + 2 * var(--gutter)); }

/* ---------- Typografie (Kavelradar sectie 2) ---------- */
h1, h2, h3 { color: var(--heading); }
h1 { font-size: clamp(29px, 3.4vw, 41px); font-weight: 800; line-height: 1.15; letter-spacing: -0.03em; }
.page-home h1 { font-size: clamp(33px, 3.8vw, 49px); }
h2 { font-size: 21px; font-weight: 800; line-height: 1.5; letter-spacing: -0.01em; }
h3 { font-size: 19px; font-weight: 800; line-height: 1.5; letter-spacing: -0.01em; }
p { color: var(--muted); }
.intro, .section-intro { font-size: 17px; line-height: 1.6; color: var(--muted); max-width: var(--intro-max); }
.muted { color: var(--muted); font-size: 15px; line-height: 1.6; }
.note { font-size: 13px; color: var(--light); line-height: 1.5; }
.label { display: block; font-size: 13px; font-weight: 700; color: var(--muted); line-height: 1.5; text-transform: uppercase; letter-spacing: 0.04em; }
:lang(fa) .label, :lang(ti) .label, :lang(ar) .label, :lang(th) .label, :lang(zh) .label { text-transform: none; }
.hint { display: block; font-size: 13px; color: var(--light); margin-block-start: 6px; }
.eyebrow { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); }
@media (max-width: 992px) {
  .intro, .section-intro, .prose p, .prose li, .legal p, .legal li, .acc-inner p, .detail-section p { font-size: 18px; }
}
@media (min-width: 768px) {
  .intro, .section-intro, .prose p, .legal p, .acc-inner p, .justify { text-align: justify; text-align-last: start; }
  :lang(th) .intro, :lang(th) .section-intro, :lang(th) .prose p, :lang(th) .legal p, :lang(th) .acc-inner p, :lang(th) .justify { text-align: start; }
}

/* ---------- Knoppen, chips, velden (sectie 5) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 20px; border-radius: var(--r-btn); border: 1.5px solid transparent;
  font-size: 15px; font-weight: 800; line-height: 1.2; text-decoration: none; cursor: pointer;
  text-align: center; transition: background-color .15s, border-color .15s, color .15s, transform .15s;
}
.btn:active { transform: scale(.97); }
.btn-sm { padding: 9px 16px; font-size: 14px; }
.btn-block { width: 100%; }
.btn-accent { background: var(--accent); color: #fff; box-shadow: var(--shadow-btn); }
.btn-accent:hover { background: var(--accent-hover); }
.btn-dark { background: var(--brand); color: #fff; box-shadow: var(--shadow-btn); }
.btn-dark:hover { background: var(--brand-hover); }
.btn-outline { background: var(--card); color: var(--brand); border-color: var(--border); }
.btn-outline:hover { background: var(--accent-soft); border-color: var(--brand); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--border); }
.btn-ghost:hover { border-color: var(--brand); }
.btn-on-dark { background: transparent; color: #fff; border-color: #fff; }
.btn-on-dark:hover { background: rgba(255, 255, 255, 0.12); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-col { display: flex; flex-direction: column; gap: 12px; }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 800; text-decoration: none; color: var(--text); }
.link-arrow:hover { color: var(--accent-text); }
/* Tekst gevolgd door een knop: altijd 20px ertussen. :where() houdt dit op specificiteit 0, zodat een eigen regel
   (flex met gap, knop onderaan een kaart) voorgaat; die rekenen met dezelfde --gap-btn. */
:where(p, ul, ol):where(:not([hidden])) + :where(.btn, .btn-row, .link-arrow) { margin-block-start: var(--gap-btn); }
.contact-card > :where(p, ul, ol) + .btn { margin-block-start: calc(var(--gap-btn) - 14px); }
.results-head .btn-row { margin-block-start: 0; }
.back-link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; text-decoration: none; color: var(--muted); margin-block-end: 20px; }
.back-link:hover { color: var(--text); }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip, .chip-check > span {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: var(--r-pill);
  font-size: 14px; font-weight: 700; line-height: 1.4; background: var(--card); border: 1px solid var(--border);
  color: var(--text); text-decoration: none; cursor: pointer;
}
.chip:hover, .chip-check > span:hover { border-color: var(--brand); }
.chip.is-active, .chip-check input:checked + span { background: var(--brand); border-color: var(--brand); color: #fff; }
.chip-check { position: relative; display: inline-flex; }
.chip-check input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.chip-check input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 2px; }

.field { display: block; border: 0; min-width: 0; }
.field + .field, .field + .check, .check + .field, .field-row + .field, .field + .field-row, .field-row + .check, .check + .field-row { margin-block-start: 18px; }
.field .label { margin-block-end: 6px; }
fieldset.field legend { padding: 0; margin-block-end: 6px; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea {
  display: block; width: 100%; font-size: 16px; line-height: 1.4; padding: 11px 14px; border-radius: var(--r-field);
  border: 1px solid var(--border); background: var(--card); color: var(--text);
}
select { appearance: none; padding-inline-end: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233F3CBB' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; }
[dir="rtl"] select { background-position: left 14px center; }
textarea { resize: vertical; min-height: 96px; }
input[type="file"] { font-size: 15px; max-width: 100%; }
input[type="file"]::file-selector-button { font-family: inherit; font-weight: 700; }
input[type="file"] { width: 100%; min-width: 0; overflow: hidden; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); outline: 2px solid var(--brand); outline-offset: 1px; box-shadow: none; }
.is-invalid input, .is-invalid select, .is-invalid textarea, input.is-invalid, select.is-invalid, textarea.is-invalid { border-color: var(--error); }
.field-narrow { max-width: 240px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-row .field + .field { margin-block-start: 0; }
@media (max-width: 640px) { .field-row { grid-template-columns: 1fr; } }
.check, .radio { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.radio + .radio { margin-block-start: 8px; }
.check input, .radio input { width: 18px; height: 18px; margin-block-start: 2px; flex: none; accent-color: var(--brand); }
.req { color: var(--accent-text); }
.opt { font-weight: 400; text-transform: none; letter-spacing: 0; }
.error { color: var(--error); font-size: 14px; font-weight: 700; margin-block-start: 6px; }
.notice { background: var(--soft); border-radius: var(--r-mid); padding: 14px 18px; font-size: 15px; color: var(--text); margin-block-start: 18px; }
.notice-warn { background: var(--warn-bg); color: var(--warn-text); border: 1px solid var(--warn-border); }
.notice-warn p { color: var(--warn-text); margin-block-start: 4px; }
.legal .notice-warn { margin-block: 0 24px; }

/* ---------- Kaarten en tags ---------- */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); padding: 26px; box-shadow: var(--shadow-sm); }
.card h2, .card h3 { margin-block-end: 10px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--r-pill); font-size: 13px; font-weight: 700; line-height: 1.3; background: var(--soft); color: var(--text); }
.tag-practical { background: var(--accent-soft); color: var(--accent-text); }
.tag-office { background: var(--office-soft); color: var(--office); }
.tag-soft { background: var(--soft); color: var(--muted); }
.pill { display: inline-block; padding: 6px 14px; border-radius: var(--r-pill); background: var(--accent-soft); color: var(--accent-text); border: 1px solid var(--accent); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; margin-block-end: 16px; }
:lang(fa) .pill, :lang(ti) .pill, :lang(fa) .eyebrow, :lang(ti) .eyebrow, :lang(ar) .pill, :lang(th) .pill, :lang(zh) .pill, :lang(ar) .eyebrow, :lang(zh) .eyebrow { text-transform: none; }

/* ---------- Bovenbalk en header ---------- */

.site-header { position: sticky; inset-block-start: 0; z-index: 100; background: rgba(255, 255, 255, 0.86); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-block-end: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.header-inner { max-width: var(--page-max); margin-inline: auto; padding: 12px var(--gutter); min-height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.logo { display: inline-flex; align-items: center; gap: 12px; font-size: 25px; font-weight: 800; letter-spacing: -0.02em; text-decoration: none; color: var(--ink); white-space: nowrap; }
.logo-mark { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--grad); display: grid; place-items: center; overflow: hidden; box-shadow: var(--shadow-btn); transition: transform .15s; }
.logo-mark .nala { width: 46px; height: 46px; }
.logo:hover .logo-mark { transform: scale(1.05); }
.main-nav { display: flex; align-items: center; gap: 22px; margin-inline-start: 16px; margin-inline-end: auto; }  /* links naast het logo, zoals Kavelradar */
.nav-link { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; text-decoration: none; padding-block: 6px; border-block-end: 2px solid transparent; white-space: nowrap; }
.nav-link .icon, .mobile-link .icon { color: var(--accent); }
.nav-link:hover, .nav-link[aria-current="page"] { border-block-end-color: var(--accent); }
.header-right { display: flex; align-items: center; gap: 10px; }

.lang-menu, .country-menu { position: relative; }
.country-menu summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 14px; border: 1.5px solid var(--border); border-radius: var(--r-btn); background: var(--card); color: var(--brand); font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.country-menu summary::-webkit-details-marker { display: none; }
.country-menu[open] summary { background: var(--brand); color: #fff; }
.lang-menu summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid var(--border); border-radius: var(--r-btn); background: var(--card); color: var(--brand); font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.lang-menu summary::-webkit-details-marker { display: none; }
.lang-menu[open] summary { background: var(--brand); color: #fff; }
.lang-list { position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + 8px); background: var(--card); border: 1px solid var(--line); border-radius: var(--r-mid); box-shadow: var(--shadow-lg); padding: 8px; min-width: 200px; display: grid; grid-template-columns: 1fr; z-index: 120; max-height: min(70vh, 560px); overflow-y: auto; }
.lang-list a { display: block; padding: 8px 12px; border-radius: var(--r-field); font-size: 15px; font-weight: 700; text-decoration: none; }
.lang-list a:hover { background: var(--accent-soft); }
.lang-list a[aria-current="true"] { background: var(--brand); color: #fff; }

.menu-btn { display: none; align-items: center; gap: 6px; padding: 8px 14px; border: 1.5px solid var(--border); border-radius: var(--r-btn); background: var(--card); color: var(--brand); font-size: 14px; font-weight: 700; cursor: pointer; }
.menu-btn .i-close { display: none; }
.menu-btn[aria-expanded="true"] .i-close { display: block; }
.menu-btn[aria-expanded="true"] .i-open { display: none; }
.mobile-menu { border-block-start: 1px solid var(--line); background: var(--card); padding: 12px var(--gutter) 24px; max-height: calc(100vh - var(--header-h)); overflow-y: auto; }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-link { display: flex; align-items: center; gap: 12px; padding: 14px 0; font-size: 19px; font-weight: 700; text-decoration: none; border-block-end: 1px solid var(--line); }
.mobile-link[aria-current="page"] { color: var(--accent-text); }
.mobile-ctas { display: grid; gap: 16px; margin-block-start: 20px; }
.mobile-ctas .eyebrow { margin-block-end: 8px; }

.header-cta { white-space: nowrap; }
/* De header meet zelf of alles past (site.js) en wordt stap voor stap compacter, in elke taal. */
.mycard-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 6px; font-size: 15px; font-weight: 700; text-decoration: none; color: var(--brand); white-space: nowrap; border-block-end: 2px solid transparent; }
.mycard-link .icon { width: 20px; height: 20px; }
.mycard-link:hover, .mycard-link[aria-current="page"] { border-block-end-color: var(--accent); }
/* Past het niet: eerst alleen het pictogram, daarna het menu in de menuknop. */
.site-header:is(.fit-1, .fit-2, .fit-3) .mycard-link > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.site-header.fit-3 .main-nav { display: none; }
.site-header.fit-3 .menu-btn { display: inline-flex; }
@media (max-width: 1024px) {
  .header-cta { display: none; }
  .main-nav { display: none; }
  .menu-btn { display: inline-flex; }
}
@media (max-width: 480px) {
  .logo { font-size: 21px; }
  .lang-menu summary > span, .menu-btn > span, .mycard-link > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .lang-menu summary, .menu-btn { padding: 10px; }
}

/* ---------- Pagina-opbouw (sectie 4) ---------- */
main { padding-block-end: var(--footer-gap); }
.page-hero { padding-block: 48px 36px; }
.page-hero h1 + .intro, .page-hero h1 + .note { margin-block-start: 14px; }
.block { margin-block-start: 56px; }
.block-first { margin-block-start: 0; }
.block-note { margin-block-start: 20px; }
.section-head { margin-block-end: 20px; }
.section-head h2 + .section-intro { margin-block-start: 10px; }
.section-head.row { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1100px) { .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }

/* ---------- Homepage ---------- */
.home-hero { padding-block: 48px 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px 48px; align-items: center; }
.home-hero .intro { margin-block-start: 12px; }
.hero-photos { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 4 / 3; }
.hp { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-card); box-shadow: var(--shadow-sm); }
.hp-1 { grid-row: 1 / 3; }
.audience { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.audience-card { display: flex; flex-direction: column; gap: 12px; border: 2px solid var(--brand); }
.audience-emp { border-color: var(--accent); }
.audience-text { font-size: 17px; color: var(--text); flex: 1; }
@media (max-width: 900px) {
  .home-hero { grid-template-columns: 1fr; }
  .hero-photos { aspect-ratio: 16 / 9; }
  .audience { grid-template-columns: 1fr; }
}
.counters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.counter { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px 24px; }
.counter-val { font-size: 37px; font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.counter-lbl { font-size: 14px; font-weight: 700; color: var(--muted); }
.counters + .note { margin-block-start: 10px; }
@media (max-width: 820px) { .counters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.doors { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 780px) { .doors { grid-template-columns: 1fr; } }
.door { position: relative; display: flex; flex-direction: column; padding: 0; overflow: hidden; cursor: pointer; border: 2px solid var(--border); transition: border-color .15s, box-shadow .15s; }
.door:hover { border-color: var(--brand); }
.door.is-on { border-color: var(--brand); box-shadow: 6px 6px 0 var(--accent); }
.door-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.door:has(.door-input:focus-visible) { outline: 3px solid var(--accent); outline-offset: 3px; }
.door-img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.door-body { display: flex; flex-direction: column; gap: 10px; padding: 24px 26px 26px; flex: 1; }
.door-body .tag { align-self: flex-start; }
.door-title { font-size: 19px; font-weight: 800; line-height: 1.4; }
.door-text { font-size: 15px; color: var(--muted); line-height: 1.6; }
.door-list { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 700; flex: 1; }
.door-list > span { display: flex; gap: 8px; align-items: flex-start; }
.door-list .icon { color: var(--accent); margin-block-start: 2px; }
.door-state { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-block-start: 8px; padding: 12px; border-radius: var(--r-pill); border: 1.5px solid var(--brand); font-size: 15px; font-weight: 800; }
.door.is-on .door-state { background: var(--brand); color: #fff; }
.door:not(.is-on) .door-state .icon { display: none; }
.doors-actions { margin-block-start: 24px; }

.employer-box { background: var(--grad); color: #fff; border-radius: var(--r-card); padding: 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; box-shadow: var(--shadow-lg); }
.employer-box h2 { font-size: 23px; color: #fff; }
.employer-box p { color: #EDEEFB; margin-block-start: 6px; max-width: 640px; }

.steps-card { display: flex; flex-direction: column; }
.steps { counter-reset: step; display: flex; flex-direction: column; gap: 14px; margin-block: 6px 0; flex: 1; }
.steps li { counter-increment: step; display: flex; gap: 14px; align-items: flex-start; font-size: 16px; color: var(--text); }
.steps li::before { content: counter(step); flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 800; font-size: 15px; display: grid; place-items: center; }
.steps li > span { padding-block-start: 3px; }

/* ---------- Kaarten: vacature, werkzoekende, artikel ---------- */
.job-card, .worker-card { display: flex; flex-direction: column; gap: 12px; }
.card-title { font-size: 19px; font-weight: 800; line-height: 1.35; margin: 0; }
.card .card-title { margin-block-end: 0; }
.card-title a { text-decoration: none; }
.card-title a:hover { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.card-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 15px; color: var(--muted); font-weight: 700; }
.card-sub .icon { color: var(--accent); margin-inline-start: 4px; }
.card-meta { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; color: var(--muted); }
.card-since { font-size: 14px; color: var(--muted); }
.card-meta .icon { margin-block-start: 2px; }
.card-text { font-size: 15px; line-height: 1.6; color: var(--muted); }
.card-actions { margin-block-start: auto; padding-block-start: calc(var(--gap-btn) - 12px); }
.lang-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lang-tags li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--soft); border-radius: var(--r-pill); font-size: 14px; color: var(--text); }
.lang-tags .icon { color: var(--muted); }
.detail-main .lang-tags li { background: var(--card); border: 1px solid var(--line); }
.worker-head { display: flex; align-items: center; gap: 14px; }
.avatar { flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 17px; }
.worker-head.big .avatar { width: 72px; height: 72px; font-size: 25px; }
.worker-photo { margin: -26px -26px 4px; display: block; overflow: hidden; border-radius: var(--r-card) var(--r-card) 0 0; }
.worker-photo img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.article-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.article-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.article-body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.article-body .link-arrow { margin-block-start: auto; padding-block-start: calc(var(--gap-btn) - 10px); }

/* ---------- Lijstpagina's met filters ---------- */
.list-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
.filters { padding: 24px; }
.filters-title { list-style: none; display: flex; justify-content: space-between; align-items: center; font-size: 19px; font-weight: 800; cursor: pointer; }
.filters-title::-webkit-details-marker { display: none; }
.filters-details[open] .filters-title { margin-block-end: 16px; }
.filters-title .acc-icon, [dir="rtl"] .filters-title .acc-icon { transform: rotate(90deg); }
.filters-details[open] .filters-title .acc-icon, [dir="rtl"] .filters-details[open] .filters-title .acc-icon { transform: rotate(-90deg); }
@media (min-width: 961px) { .filters-title { pointer-events: none; } .filters-title .acc-icon { display: none; } }
.filters .field + .field, .filters .field + .check, .filters .check + .btn, .filters .field + .btn { margin-block-start: 16px; }
.filters .btn { margin-block-start: 16px; }
.results-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-block-end: 16px; }
.results-count { font-size: 15px; font-weight: 800; color: var(--text); }
.empty { text-align: center; padding: 40px 26px; }
.empty h1, .empty h2 { font-size: 25px; margin-block-end: 10px; }
.empty p { max-width: 420px; margin: 0 auto 20px; font-size: 16px; }
.empty-page { padding-block-start: 48px; }
@media (max-width: 960px) {
  .list-layout { grid-template-columns: 1fr; }
}

/* ---------- Detailpagina's ---------- */
.detail { padding-block-start: 32px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; }
.detail-main > * + * { margin-block-start: 16px; }
.detail-main h1 { margin-block-start: 14px; }
.detail-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 17px; font-weight: 700; color: var(--muted); }
.detail-sub .icon { color: var(--accent); margin-inline-start: 4px; }
.detail-section { margin-block-start: 32px !important; }
.detail-section h2 { margin-block-end: 12px; }
.detail-section h3 { font-size: 15px; margin-block: 16px 6px; }
.detail-section p { font-size: 17px; line-height: 1.6; }
.detail-section .note { font-size: 13px; margin-block-start: 8px; }
.detail-side { position: sticky; inset-block-start: calc(var(--header-h) + 16px); }
.contact-card { display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--border); box-shadow: var(--shadow-lg); }
.contact-card h2 { margin: 0; }
.contact-card .btn { flex-wrap: wrap; row-gap: 2px; }
.report-link { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; background: none; border: 0; padding: 4px 0; font-size: 14px; font-weight: 700; color: var(--muted); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.report-link:hover { color: var(--error); }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-mid); padding: 18px 20px; margin-block-start: 20px !important; }
.facts dt { font-size: 13px; font-weight: 700; color: var(--light); text-transform: uppercase; letter-spacing: 0.04em; }
:lang(fa) .facts dt, :lang(ti) .facts dt, :lang(ar) .facts dt, :lang(th) .facts dt, :lang(zh) .facts dt { text-transform: none; }
.facts dd { font-size: 16px; font-weight: 700; margin-block-start: 2px; }
.check-list { display: flex; flex-direction: column; gap: 10px; }
.check-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; color: var(--text); }
.check-list .icon { color: var(--accent); margin-block-start: 3px; }
.portfolio { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.portfolio img { border-radius: var(--r-mid); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
@media (max-width: 960px) {
  .detail-layout { grid-template-columns: minmax(0, 1fr); }
  .detail-side { position: static; }
}

/* ---------- Artikelen ---------- */
.article { max-width: var(--read-col); }
.article-head .intro { margin-block-start: 14px; font-size: 19px; }
.article-head h1 { margin-block-start: 10px; }
.article-hero { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-card); margin-block: 28px; }
.prose h2 { margin-block: 28px 10px; }
.prose p { font-size: 17px; line-height: 1.6; }
.prose p + p { margin-block-start: 12px; }
.prose ul { display: flex; flex-direction: column; gap: 10px; margin-block: 12px; }
.prose li { position: relative; padding-inline-start: 24px; font-size: 17px; line-height: 1.6; color: var(--muted); }
.prose li::before { content: ""; position: absolute; inset-inline-start: 4px; inset-block-start: 0.65em; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.article-note { margin-block-start: 28px; }
.article-cta { margin-block-start: 20px; }
.tips-filter { margin-block-end: 24px; }

/* ---------- Formulieren ---------- */
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
.form { max-width: 820px; }
.form > .btn-row { margin-block-start: 24px; }
.form > .check, .form > .notice, .form > .subform, .form > fieldset, .form > .field-row, .form > label { margin-block-start: 20px; }
.form > :first-child { margin-block-start: 0; }
.form-side { display: flex; flex-direction: column; gap: 24px; position: sticky; inset-block-start: calc(var(--header-h) + 16px); }
.subform { border-block-start: 1px solid var(--border); padding-block-start: 20px; }
.subform h2 { font-size: 17px; margin-block-end: 12px; }
.lang-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.lang-row + .lang-row { margin-block-start: 12px; }
.lang-row .field + .field { margin-block-start: 0; }
[data-add-lang] { margin-block-start: 12px; }
.lang-row:only-child [data-remove-lang] { visibility: hidden; }
@media (max-width: 640px) { .lang-row { grid-template-columns: 1fr 1fr; } .lang-row [data-remove-lang] { grid-column: 1 / -1; justify-self: start; } .lang-row:only-child [data-remove-lang] { display: none; } }
@media (max-width: 960px) { .form-layout { grid-template-columns: 1fr; } .form-side { position: static; } }

/* ---------- FAQ (sectie 10): uitklappen via grid, nooit een vaste max-height ---------- */
.faq-search { margin-block-end: 16px; }
.search-box { position: relative; display: block; }
.search-box .icon { position: absolute; inset-inline-start: 14px; inset-block-start: 50%; transform: translateY(-50%); color: var(--light); }
.search-box input { padding-inline-start: 42px !important; }
.faq-jump { margin-block-end: 8px; }
@media (max-width: 640px) { .faq-jump { flex-wrap: nowrap; overflow-x: auto; padding-block-end: 6px; scrollbar-width: thin; } .faq-jump .chip { flex: none; } }
.faq-cat { margin-block-start: 32px; scroll-margin-block-start: calc(var(--header-h) + 16px); }
.faq-cat h2 { margin-block-end: 10px; }
.acc { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-mid); }
.acc + .acc { margin-block-start: 10px; }
.acc-h { font-size: 17px; }
.acc-btn { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; background: none; border: 0; text-align: start; font-size: 17px; font-weight: 800; line-height: 1.4; cursor: pointer; }
.acc-icon { transition: transform .2s; }
.acc-btn[aria-expanded="true"] .acc-icon { transform: rotate(90deg); }
[dir="rtl"] .acc-icon { transform: scaleX(-1); }
[dir="rtl"] .acc-btn[aria-expanded="true"] .acc-icon { transform: rotate(90deg); }
.acc-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.acc-panel.is-open { grid-template-rows: 1fr; }
.acc-inner { min-height: 0; overflow: hidden; }
.acc-inner p { padding: 0 20px 18px; font-size: 17px; line-height: 1.6; }

/* ---------- Juridisch en tabellen (sectie 6) ---------- */
.legal section { margin-block-start: 28px; }
.legal h2 { font-size: 17px; margin-block-end: 10px; }
.legal p, .legal li { font-size: 17px; line-height: 1.7; color: var(--muted); }
.legal ul { display: flex; flex-direction: column; gap: 8px; }
.legal li { position: relative; padding-inline-start: 20px; }
.legal li::before { content: ""; position: absolute; inset-inline-start: 2px; inset-block-start: 0.7em; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.table-wrap { overflow-x: auto; margin-block: 20px; border-radius: var(--r-mid); border: 1px solid var(--line); background: var(--card); }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 14px 18px; font-size: 17px; text-align: start; border-block-end: 1px solid var(--line); word-break: normal; overflow-wrap: normal; vertical-align: top; }
.table thead th { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--light); background: var(--soft); }
:lang(fa) .table thead th, :lang(ti) .table thead th, :lang(ar) .table thead th, :lang(th) .table thead th, :lang(zh) .table thead th { text-transform: none; }
.table tbody th { font-weight: 700; color: var(--text); width: 30%; }
.table tbody td { color: var(--muted); }
.table tr:last-child th, .table tr:last-child td { border-block-end: 0; }
@media (max-width: 640px) { .table th, .table td { padding: 10px 8px; font-size: 15px; } }

/* ---------- Kleine kaarten op 'Hoe het werkt' ---------- */
.mini-door { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; align-items: center; text-decoration: none; padding: 16px; }
.mini-door img { border-radius: var(--r-mid); aspect-ratio: 4 / 3; object-fit: cover; }
.mini-door > span { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.mini-door-text { font-size: 15px; color: var(--muted); line-height: 1.6; }
.mini-door:hover { border-color: var(--border); box-shadow: var(--shadow-lg); }
@media (max-width: 480px) { .mini-door { grid-template-columns: 1fr; } }

/* ---------- Dialogen ---------- */
.dialog { border: 1px solid var(--line); border-radius: var(--r-card); padding: 0; max-width: 520px; width: calc(100% - 32px); box-shadow: var(--shadow-lg); margin: auto; color: var(--text); background: var(--card); }
.dialog::backdrop { background: rgba(22, 21, 69, 0.55); }
.dialog-inner { padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.dialog-inner h2 { font-size: 21px; }
.dialog-inner .field + .field { margin-block-start: 0; }
.dialog-quote { background: var(--soft); border-radius: var(--r-mid); padding: 14px 16px; font-size: 16px; color: var(--text); }
.dialog .notice { margin: 0; }
body.has-dialog { overflow: hidden; }

/* ---------- Footer ---------- */
.site-footer { background: rgba(255, 255, 255, 0.7); border-block-start: 1px solid var(--line); padding: 48px var(--gutter) 24px; font-size: 15px; }
.footer-inner { max-width: var(--page-max); margin-inline: auto; display: grid; grid-template-columns: minmax(220px, 280px) repeat(3, fit-content(260px)) max-content; justify-content: space-between; gap: 32px 40px; }  /* elk deel zo breed als zijn inhoud; de ruimte ertussen is overal even groot */
.footer-links li { break-inside: avoid; margin-block-end: 8px; }
.footer-col .footer-links li + li { margin-block-start: 0; }
.footer-about p { margin-block-start: 12px; color: var(--muted); max-width: 360px; line-height: 1.5; }
.footer-col h2 { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; margin-block-end: 12px; }
:lang(fa) .footer-col h2, :lang(ti) .footer-col h2, :lang(ar) .footer-col h2, :lang(th) .footer-col h2, :lang(zh) .footer-col h2 { text-transform: none; }
.footer-col li + li { margin-block-start: 8px; }
/* Grotere aanraakvlakken (dummy proof): elke link minstens 36 px hoog, zonder dat de kolommen langer ogen. */
.footer-col a { text-decoration: none; color: var(--muted); font-weight: 700; }
.footer-col a:hover { color: var(--accent-text); text-decoration: underline; }
.footer-langs { display: grid; grid-template-columns: repeat(2, minmax(110px, max-content)); gap: 8px 72px; }
.footer-langs li + li { margin-block-start: 0; }
.footer-legal { max-width: var(--page-max); margin: 36px auto 0; padding-block-start: 20px; border-block-start: 1px solid var(--line); }
.footer-legal p { font-size: 14px; color: var(--muted); line-height: 1.6; }
.footer-legal p + p { margin-block-start: 8px; }
@media (max-width: 1240px) { .footer-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; } .footer-about { grid-column: 1 / -1; } .footer-langs { grid-template-columns: 1fr 1fr; gap: 8px 16px; } }


@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ---------- Homepage: één vraag, twee grote keuzes (2026-10-18) ---------- */
.home-start { padding-block: 48px 0; }
.home-start .intro { margin-block-start: 12px; }
.home-question { font-size: 23px; margin-block: 32px 16px; }
.choices { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 760px) { .choices { grid-template-columns: 1fr; gap: 16px; } .choice-img { aspect-ratio: 16 / 5; } .choice-body { padding: 18px 20px 22px; padding-inline-end: 76px; } .choice-go { inset-inline-end: 18px; inset-block-end: 22px; } }
.choice { position: relative; display: flex; flex-direction: column; border-radius: var(--r-card); overflow: hidden; text-decoration: none; color: #fff; box-shadow: var(--shadow-lg); transition: transform .15s; min-height: 100%; }
.choice:hover { transform: translateY(-3px); box-shadow: 0 28px 52px -16px rgba(63, 60, 187, 0.32); }
.choice:focus-visible { outline: 4px solid var(--accent); outline-offset: 4px; }
.choice-work { background: var(--grad); }
.choice-staff { background: linear-gradient(135deg, #FDE68A 0%, #FEF0B8 100%); color: var(--ink); }
.choice-staff .choice-sub { opacity: 1; }
.choice-staff .choice-go { background: var(--ink); color: #fff; }
.choice-img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.choice-body { display: flex; flex-direction: column; gap: 8px; padding: 24px 26px 28px; padding-inline-end: 84px; }
.choice-title { display: flex; align-items: center; gap: 12px; font-size: clamp(23px, 2.4vw, 29px); font-weight: 800; line-height: 1.25; }
.choice-title .icon { width: 28px; height: 28px; flex: none; }
.choice-sub { font-size: 18px; line-height: 1.5; opacity: .92; }
.choice-go { position: absolute; inset-inline-end: 24px; inset-block-end: 28px; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--text); display: grid; place-items: center; }
.choice-go .icon { width: 24px; height: 24px; }
/* Telefoon (Ruben, 2026-10-23): de titel gebruikt de hele breedte, zodat "I am looking for work" op één regel past (vanaf
   ongeveer 390 px); alleen de tekst eronder houdt ruimte vrij voor de pijlknop. Lettermaat en dikte ongewijzigd. */
@media (max-width: 760px) { .choice-body { padding-inline: 16px; } .choice-sub { padding-inline-end: 60px; } .choice-go { inset-inline-end: 16px; } }
[dir="rtl"] .choice-go .icon { transform: scaleX(-1); }
.home-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-block-start: 24px; }
.lang-open { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: var(--r-btn); border: 1.5px solid var(--border); background: var(--card); color: var(--brand); font-size: 17px; font-weight: 800; cursor: pointer; box-shadow: var(--shadow-sm); }
.lang-open:hover { background: var(--brand); color: #fff; }
.lang-open .icon { width: 22px; height: 22px; }
.home-stats { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 15px; color: var(--muted); }
.home-stats strong { color: var(--brand); font-variant-numeric: tabular-nums; }
.home-start > .note { margin-block-start: 8px; }
.home-steps-block h2 { font-size: 23px; margin-block-end: 16px; }
.home-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: none; }
@media (max-width: 900px) { .home-steps { grid-template-columns: 1fr; gap: 12px; } }
.home-steps li { display: flex; align-items: center; gap: 16px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); padding: 20px 24px; font-size: 18px; font-weight: 700; line-height: 1.45; box-shadow: var(--shadow-sm); }
.step-num { flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: grid; place-items: center; font-size: 23px; font-weight: 800; }
.home-tips { display: flex; align-items: center; gap: 12px; padding: 20px 24px; border-radius: var(--r-card); background: var(--card); border: 1px solid var(--line); text-decoration: none; font-size: 19px; font-weight: 800; box-shadow: var(--shadow-sm); }
.home-tips > span { flex: 1; }
.home-tips .icon { width: 24px; height: 24px; color: var(--accent); }
.home-tips:hover { border-color: var(--border); box-shadow: var(--shadow-lg); }
.hero-btn { margin-block-start: 20px; }
.more-filters { display: inline-flex; align-items: center; gap: 8px; margin-block-start: 16px; padding: 8px 0; background: none; border: 0; font-size: 16px; font-weight: 800; cursor: pointer; color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.more-filters[aria-expanded="true"] .acc-icon { transform: rotate(90deg); }
.filters-more > .field, .filters-more > .check { margin-block-start: 16px; }

/* Hele kaartje klikbaar (één knop per kaartje is genoeg); de knop blijft er los boven liggen. */
.job-card, .worker-card { position: relative; }
.card-link::after { content: ""; position: absolute; inset: 0; border-radius: var(--r-card); }
.card-actions, .card-actions .btn { position: relative; z-index: 1; }
.job-card, .worker-card, .article-card { transition: border-color .15s, box-shadow .15s; }
.job-card:hover, .worker-card:hover, .article-card:hover { border-color: var(--border); box-shadow: var(--shadow-lg); }
.filters [type="reset"] { display: flex; }

.about-contact { margin-block-start: 32px; }
.about .page-hero, .read-col.page-hero .intro { max-width: none; }

/* Merkzin: klein en rustig, in het accent. */
.tagline { font-size: 15px; font-weight: 800; color: var(--accent-text); letter-spacing: -0.01em; }
.footer-about .tagline { margin-block-start: 10px; color: var(--accent-text); }
.tagline-home { margin-block-start: 14px; font-size: 17px; text-align: end; }

/* ---------- Mascotte Nala (2026-10-18): zweeft, knippert en bloost; stil bij 'minder beweging' ---------- */
.nala { display: block; width: 100%; height: 100%; overflow: visible; }
.nala-eyes { transform-box: fill-box; transform-origin: center; animation: nala-blink 4.2s infinite; }
.nala-blush { transform-box: fill-box; transform-origin: center; animation: nala-blush 2.6s ease-in-out infinite; }
.nala-wing { transform-box: fill-box; transform-origin: 20% 20%; animation: nala-wing 2s ease-in-out infinite; }
.nala-float { animation: nala-float 3.8s ease-in-out infinite; }
.logo-mark .nala * { animation: none; }
@keyframes nala-blink { 0%, 94%, 100% { transform: scaleY(1); } 97% { transform: scaleY(0.1); } }
@keyframes nala-blush { 0%, 100% { opacity: .65; } 50% { opacity: .95; } }
@keyframes nala-wing { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-8deg); } }
@keyframes nala-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(1.2deg); } }
@media (prefers-reduced-motion: reduce) { .nala, .nala * { animation: none !important; } }

/* Homepage: Nala zegt de korte zin in een tekstballon. */
.home-hero { display: grid; grid-template-columns: minmax(0, 680px) 124px minmax(0, 1fr); grid-template-areas: "h h h" "u u u" "b nala ."; gap: 0 20px; align-items: start; padding: 0; }
.home-hero h1 { grid-area: h; }
.home-hero .bubble { grid-area: b; margin-block-start: 22px; }
.nala-stage { grid-area: nala; width: 124px; height: 160px; margin-block-start: 8px; filter: drop-shadow(0 10px 14px rgba(63, 60, 187, 0.18)); }
.bubble { position: relative; justify-self: start; margin-block-start: 18px; background: var(--card); border: 1px solid var(--border); border-radius: var(--r-card); padding: 16px 22px; color: var(--text); box-shadow: var(--shadow-sm); }
.bubble::after { content: ""; position: absolute; inset-inline-end: -8px; inset-block-start: 50%; width: 14px; height: 14px; margin-block-start: -7px; background: var(--card); border-block-start: 1px solid var(--border); border-inline-end: 1px solid var(--border); transform: rotate(45deg); }
[dir="rtl"] .bubble::after { transform: rotate(-45deg); }
@media (max-width: 760px) {
  .home-hero { grid-template-columns: minmax(0, 1fr) 84px; grid-template-areas: "h h" "u u" "b nala"; gap: 0 14px; }
  .nala-stage { width: 84px; height: 108px; margin-block-start: 18px; }
}
.nala-empty { width: 110px; height: 142px; margin: 0 auto 12px; }

/* Kaartjes en vlakken: zacht wit met een lila rand, zoals de studio. */
.card { border-color: var(--line); }
.step-num { background: var(--accent-soft); }
.steps li::before { background: var(--grad); }
.pill { border-color: var(--border); }
.footer-col a.logo { color: var(--ink); }

/* Kavelradar: op mobiel (tot 992 px) wordt lopende tekst 17px. Staat onderaan, zodat latere regels (16px) het niet overschrijven. */
@media (max-width: 992px) {
  .intro, .section-intro, .prose p, .prose li, .legal p, .legal li, .acc-inner p, .detail-section p { font-size: 18px; }
}

/* Mijn kaartje: smal en rustig, één veld. */
.mycard .form { max-width: 560px; }
.mycard-none { margin-block-start: 20px; font-size: 16px; }
.mycard-none a { color: var(--brand); font-weight: 700; }

/* Homepage: waarom NOWEWO (vier korte punten met een pictogram, geen knoppen). */
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Waarom NOWEWO: rustig bovenaan onder de kop, zoals Kavelradar: een regel met vinkjes, geen blokken. */
.home-usp-block { grid-area: u; margin-block-start: 14px; }
.home-usp { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.home-usp li { display: flex; align-items: center; gap: 8px; font-size: 16px; line-height: 1.5; color: var(--muted); }
.home-usp .icon { flex: none; width: 18px; height: 18px; color: var(--brand); stroke-width: 2.6; }
@media (max-width: 600px) { .home-usp { flex-direction: column; gap: 6px; } .home-usp li { font-size: 15px; } .home-usp li { align-items: flex-start; } .home-usp .icon { margin-block-start: 3px; } }

/* Kaart op 'Werk zoeken': op desktop boven de resultaten, op mobiel achter de knop 'Kaart'. */
.job-map-wrap { margin-block-end: 20px; position: relative; }
.map-size { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--r-mid); border: 1px solid var(--line); background: var(--card); color: var(--ink); cursor: pointer; box-shadow: var(--shadow-sm); }
.map-size:hover, .map-size:focus-visible { border-color: var(--brand); color: var(--brand); }
.map-size .icon { width: 22px; height: 22px; }
.map-size .is-shrink, .is-big .map-size .is-expand { display: none; }
.is-big .map-size .is-shrink { display: block; }
/* Grote kaart: boven de pagina met een rand van 16px; de donkere rand eromheen sluit bij aantikken. */
.job-map-wrap.is-big { position: fixed; inset: 16px; z-index: 250; margin: 0; display: block; }
.job-map-wrap.is-big::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(20, 18, 60, 0.45); }
.job-map-wrap.is-big .job-map { height: 100%; box-shadow: var(--shadow-lg); }
.map-big, .map-big body { overflow: hidden; }
.job-map { height: 340px; border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--line); background: #EDEEFB; box-shadow: var(--shadow-sm); }
.map-pin { min-width: 40px; height: 40px; padding: 0 8px; border-radius: 999px; border: 3px solid #fff; background: var(--brand); color: #fff; font: 800 15px/1 var(--font-main); cursor: pointer; box-shadow: var(--shadow-btn); }
.map-pin:hover, .map-pin:focus-visible { background: var(--ink); }
.map-pin.is-group { background: var(--lilac); min-width: 44px; height: 44px; }
.map-toggle { display: none; }
.results-head .btn-row { gap: 8px; }
@media (max-width: 960px) {
  .map-toggle { display: inline-flex; }
  .job-map-wrap { display: none; }
  .job-map-wrap.is-open { display: block; }
  .job-map { height: 260px; }
}
.job-map .maplibregl-map, .job-map .maplibregl-ctrl, .job-map .maplibregl-ctrl-attrib, .job-map .maplibregl-cooperative-gesture-screen { font-family: var(--font-main); }

/* Cookiemelding: rustig onderaan, twee even grote knoppen. */
.cookie-bar { position: fixed; inset-inline: 16px; inset-block-end: 16px; z-index: 200; max-width: 640px; margin-inline: auto; background: var(--card); border: 1px solid var(--border); border-radius: var(--r-card); padding: 20px 22px; box-shadow: var(--shadow-lg); }
.cookie-bar p { color: var(--text); font-size: 16px; line-height: 1.5; }
.cookie-bar a { color: var(--brand); font-weight: 700; }
.cookie-bar .btn-row { margin-block-start: var(--gap-btn); }
.cookie-bar .btn { flex: 1 1 160px; }
.footer-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--muted); cursor: pointer; text-align: start; }
.footer-btn:hover { color: var(--accent-text); text-decoration: underline; }
.job-map.is-active { outline: 2px solid var(--border); outline-offset: 2px; }

/* ---------- Review 2026-10-19: aanraakvlakken van minstens 44 px (dummy proof) ---------- */
.lang-menu summary, .menu-btn { min-width: 44px; justify-content: center; }
.btn-sm { min-height: 44px; }
.report-link { min-height: 44px; }
.check, .radio { min-height: 44px; align-items: center; }
.check input, .radio input { margin-block-start: 0; }
/* Bron-knopje (i) van de kaart: 32 px, het rondje eromheen even groot en het pictogram precies in het midden. */
/* De bron is altijd Latijnse tekst (kaartdienst), dus ook op een rechts-naar-links-pagina van links naar rechts. */
.job-map .maplibregl-ctrl-attrib { direction: ltr; }
/* MapLibre rekent met content-box: dan telt de binnenruimte bij de 32 px op en ontstaat er wit onder de bron. */
.job-map .maplibregl-ctrl-attrib.maplibregl-compact { box-sizing: border-box; min-height: 32px; padding: 0 32px 0 0; border-radius: 16px; line-height: 20px; }
.job-map .maplibregl-ctrl-attrib.maplibregl-compact-show { padding: 6px 40px 6px 12px; }
.job-map .maplibregl-ctrl-attrib-button { width: 32px; height: 32px; top: 0; right: 0; left: auto; border-radius: 16px; background-position: center; background-size: 22px; background-repeat: no-repeat; }
.job-map .maplibregl-ctrl-attrib.maplibregl-compact::after { display: none; }
.job-map .maplibregl-ctrl-attrib-button:focus:not(:focus-visible) { box-shadow: none; }
.lang-code { display: none; }
@media (max-width: 480px) {
  /* De taalknop toont de taalcode, zodat hij meer zegt dan een wereldbol. */
  .lang-code { display: inline; font-size: 13px; letter-spacing: .02em; }
}
/* Taalnamen in hun eigen schrift: klein lettertype met alleen die tekens (tools/fonts.mjs), zodat niet elke pagina
   alle schriften laadt. Latijnse letters komen gewoon uit Lexend. */
.footer-langs a, .lang-list a { font-family: 'NOWEWO Names', var(--font-main); }

/* ---------- Review 2026-10-19: nieuwe onderdelen ---------- */
/* Stap voor stap */
.step-progress { font-size: 15px; font-weight: 700; color: var(--brand); margin-block-end: 4px; }
.step-nav { margin-block-start: 24px; justify-content: space-between; }
.step-nav [data-step-next] { margin-inline-start: auto; }
[dir="rtl"] .icon-flip-rtl { transform: scaleX(-1); }
.form > .step > :first-child { margin-block-start: 0; }
.form > .step { margin-block-start: 20px; }
.form > .step > * + * { margin-block-start: 20px; }
/* Bevestiging na het versturen */
.done { text-align: center; padding: 36px 26px; }
.done:focus { outline: none; }
.nala-done { width: 110px; height: 142px; margin: 0 auto 12px; }
.done h2 { font-size: 25px; margin-block-end: 16px; }
.done-steps { max-width: 420px; margin: 0 auto 16px; text-align: start; }
.done .btn-row { justify-content: center; }
.done .notice { margin-block-start: 16px; }
@keyframes flash { from { background: var(--sun, #FCD34D); } }
.is-flash { animation: flash 1s ease-out; }
/* Foto's toevoegen */
.photo-btn { position: relative; align-self: flex-start; cursor: pointer; }
.photo-btn:focus-within { outline: 3px solid var(--accent); outline-offset: 2px; }
.photo-list { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 12px 4px; }
.photo-list:empty { display: none; }
.photo-list li { position: relative; width: 96px; height: 96px; }
.photo-list img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-mid); border: 1px solid var(--line); }
.photo-remove { position: absolute; inset-block-start: -10px; inset-inline-end: -10px; width: 36px; height: 36px; border-radius: 50%; border: 2px solid #fff; background: var(--ink); color: #fff; font: 700 20px/1 var(--font-main); cursor: pointer; }
[data-photo-field] { display: flex; flex-direction: column; gap: 6px; }
/* Actieve filters */
.f-n { color: var(--brand); }
.f-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 14px; }
.f-chips:empty { display: none; }
/* Pagina's onder de resultaten (Ruben, 2026-10-23): < 1 2 3 4 5 > op één regel; op mobiel hooguit 5 nummers, breder 10. */
.off-page { display: none !important; }
.pager { display: flex; justify-content: center; align-items: center; flex-wrap: nowrap; gap: 6px; margin-block-start: 28px; }
.pg { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 6px; border-radius: var(--r-field); border: 1.5px solid var(--border); background: var(--card); color: var(--brand); font: 700 15px/1 var(--font-main); cursor: pointer; transition: border-color .2s, background-color .2s; }
.pg:hover:not(:disabled) { border-color: var(--brand); }
.pg[aria-current="page"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.pg:disabled { opacity: .4; cursor: default; }
.pg svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .pg svg { transform: scaleX(-1); }
@media (max-width: 380px) { .pager { gap: 4px; } .pg { min-width: 38px; height: 38px; } }
.f-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1.5px solid var(--brand); background: var(--card); color: var(--brand); font: 700 14px/1.2 var(--font-main); cursor: pointer; }
.f-chip > span[aria-hidden] { font-size: 18px; line-height: 1; }
.f-chip:hover { background: var(--accent-soft); }
.empty-next { margin-block-start: 18px !important; }
.empty-next a { color: var(--brand); font-weight: 700; }
/* Plaatjes zonder eigen foto: rustiger */
img.is-placeholder { opacity: .85; }
/* Vertalen en veiligheid */
.tr-link { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: 15px; font-weight: 700; color: var(--brand); text-decoration: none; }
.tr-link:hover { text-decoration: underline; }
.safe-line { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--muted); background: var(--accent-soft); border-radius: var(--r-mid); padding: 10px 12px; }
.safe-line .icon { flex: none; color: var(--brand); margin-block-start: 3px; }
.safe-line a { color: var(--brand); font-weight: 700; }
.dialog .safe-line { margin-block-start: 16px; }
/* Mobiel: de knop altijd in beeld onderaan een vacature of profiel */
.sticky-cta { display: none; }
@media (max-width: 960px) {
  .sticky-cta { display: block; position: sticky; inset-block-end: 0; z-index: 50; margin-inline: calc(-1 * var(--gutter)); padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .94); border-block-start: 1px solid var(--line); box-shadow: 0 -6px 18px rgba(30, 27, 75, .08); }
}
/* Kaart: plaatsnaam onder een punt */
.map-pin { position: relative; }
.map-pin-name { position: absolute; inset-block-start: calc(100% + 4px); inset-inline-start: 50%; transform: translateX(-50%); white-space: nowrap; font: 700 12px/1.2 var(--font-main); color: var(--ink); background: rgba(255, 255, 255, .92); padding: 2px 6px; border-radius: 6px; pointer-events: none; }
[dir="rtl"] .map-pin-name { transform: translateX(50%); }
.btn-row-center { justify-content: center; }
/* Taal en niveau op een smal scherm onder elkaar (niets afgekapt) */
@media (max-width: 400px) { .lang-row { grid-template-columns: 1fr; } }
/* Smalle telefoon: header past op één regel, ook met de taalcode (AR, FIL). */
@media (max-width: 400px) {
  .header-inner { gap: 10px; }
  .header-right { gap: 6px; }
  .logo { gap: 8px; font-size: 19px; }
  .logo-mark { width: 40px; height: 40px; }
  .lang-menu summary { padding-inline: 8px; }
}
/* Video */
[data-video-field] { display: flex; flex-direction: column; gap: 6px; }
.video-name { font-size: 15px; color: var(--text); overflow-wrap: anywhere; }
.card-video { width: 100%; max-height: 480px; border-radius: var(--r-mid); background: #000; }
.ft-help { display: flex; gap: 8px; align-items: flex-start; margin-block-start: 12px; font-weight: 700; color: var(--text); }
.ft-help .icon { flex: none; color: var(--brand); margin-block-start: 3px; }
.ft-help a { color: var(--brand); }
/* Landkeuze (voorvertoning) */
.country-list { min-width: 240px; }
.country-list ul { display: grid; gap: 2px; }
.country-h { font-size: 13px; font-weight: 800; color: var(--muted); padding: 6px 10px 4px; }
.country-list a, .country-list .is-soon { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 40px; padding: 8px 10px; border-radius: var(--r-mid); }
.country-list .is-soon { color: var(--muted); cursor: default; }
.country-list .is-soon small { font-size: 12px; font-weight: 700; color: var(--brand); background: var(--accent-soft); border-radius: 999px; padding: 2px 8px; }
.site-header:is(.fit-1, .fit-2, .fit-3) .country-menu summary > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.site-header:is(.fit-1, .fit-2, .fit-3) .country-menu .lang-code { display: inline; font-size: 13px; }
@media (max-width: 480px) {
  .country-menu summary > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .country-menu summary { padding: 10px 8px; min-width: 44px; justify-content: center; }
  .country-menu .lang-code { display: inline; font-size: 13px; }
}
/* Delen en melden naast elkaar */
.card-links { display: flex; flex-wrap: wrap; gap: 4px 18px; }
/* Telefoon: de landkeuze staat in het menu, niet in de header (anders past de header niet). */
.mobile-country { display: none; }
@media (max-width: 480px) {
  .site-header .country-menu { display: none; }
  .mobile-country { display: block; border-block-start: 1px solid var(--line); margin-block-start: 8px; padding: 12px 4px 4px; }
  .mobile-country .country-h { display: flex; gap: 8px; align-items: center; font-size: 15px; color: var(--text); padding: 0; }
  .mobile-country .icon { color: var(--brand); }
  .mobile-soon { font-size: 14px; color: var(--muted); margin-block-start: 6px; }
}
/* WhatsApp-knop rechtsonder (in rechts-naar-links links onder): paars, rond, altijd in beeld. */
.wa-float { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; z-index: 90; width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--grad); color: #fff; box-shadow: 0 10px 24px rgba(63, 60, 187, .35); text-decoration: none; transition: transform .15s; }
.wa-float .chat-bubble { width: 32px; height: 32px; }
[dir="rtl"] .wa-float .chat-bubble { transform: scaleX(-1); }
.wa-float:hover { transform: scale(1.06); }
.wa-float:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .wa-float { transition: none; } .wa-float:hover { transform: none; } }
/* Boven de vaste knop onderaan een vacature of profiel op mobiel, en niet over de grote kaart. */
@media (max-width: 960px) { .page-detail .wa-float { inset-block-end: 92px; } }
.map-big .wa-float { display: none; }

/* ---------- Homepage: binnenkort internationaal (Ruben, 2026-10-22) ---------- */
.intl-band { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 32px; align-items: center;
  padding: 36px 40px; border-radius: var(--r-card); color: #fff; box-shadow: var(--shadow-lg);
  background: radial-gradient(circle at 88% 12%, rgba(252, 211, 77, .28), transparent 34%), radial-gradient(circle at 8% 100%, rgba(255, 123, 144, .25), transparent 40%), var(--grad); }
.intl-band h2 { color: #fff; font-size: 27px; line-height: 1.25; margin-block: 14px 10px; }
.intl-band p { color: rgba(255, 255, 255, .92); font-size: 16px; line-height: 1.6; max-width: 560px; }
.intl-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: var(--sun); color: var(--ink) !important; font-size: 13px; font-weight: 800; }
.intl-badge .icon { width: 15px; height: 15px; }
.intl-text { container-type: inline-size; }
/* Landen in een vast raster (CLAUDE.md, "Rijen en rasters altijd synchroon"): alle vakjes even breed en even hoog,
   land en app onder elkaar. 2 kolommen, 3 vanaf 520 px tekstbreedte, 4 vanaf 700 px. */
.intl-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 8px; margin-block-start: 20px; }
@container (max-width: 299px) { .intl-list li > .icon { display: none; } }  /* smalle vakjes: geen speldje, zodat "Zuid-Korea" past */
@container (min-width: 520px) { .intl-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container (min-width: 700px) { .intl-list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.intl-list li { display: flex; align-items: flex-start; gap: 8px; min-width: 0; padding: 10px 12px; border-radius: var(--r-btn); background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .24); }
.intl-list li > .icon { flex: none; width: 16px; height: 16px; margin-block-start: 2px; color: var(--sun); }
.intl-c { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.intl-c strong { font-size: 14px; font-weight: 800; line-height: 1.3; }
.intl-app { padding: 1px 8px; border-radius: 999px; background: var(--sun); color: var(--ink); font-size: 12px; font-weight: 800; }
.intl-band .link-arrow { color: #fff; }
.intl-band .link-arrow:hover { color: var(--sun); }
.intl-globe { width: 220px; height: 220px; }
.intl-globe .g-halo { fill: rgba(255, 255, 255, .08); }
.intl-globe .g-lines { fill: none; stroke: rgba(255, 255, 255, .55); stroke-width: 2; }
.intl-globe .g-lines circle { fill: rgba(255, 255, 255, .1); }
.intl-globe .g-orbit ellipse { fill: none; stroke: rgba(252, 211, 77, .7); stroke-width: 2; stroke-dasharray: 4 7; }
.intl-globe .g-sat { fill: var(--sun); }
.intl-globe .g-orbit { transform-origin: 110px 110px; animation: intl-orbit 14s linear infinite; }
.intl-globe .g-pins path { fill: var(--peach); stroke: #fff; stroke-width: 2.6; }
.intl-globe .g-pins circle { fill: #fff; }
.intl-globe .g-badge > rect { fill: #fff; filter: drop-shadow(0 6px 10px rgba(22, 21, 69, .18)); }
.intl-globe .g-icon * { fill: none; stroke: var(--brand); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.intl-globe .g-b2 > rect { fill: var(--sun); }
.intl-globe .g-b2 .g-icon * { stroke: var(--ink); }
.intl-globe .g-badge { animation: intl-bob 4s ease-in-out infinite; }
.intl-globe .g-b2 { animation-delay: -2s; }
@keyframes intl-orbit { to { transform: rotate(360deg); } }
@keyframes intl-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .intl-globe .g-orbit, .intl-globe .g-badge { animation: none; } }
@media (max-width: 760px) {
  .intl-band { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 26px 22px; }
  .intl-globe { order: -1; width: 132px; height: 132px; justify-self: center; }
  .intl-band h2 { font-size: 23px; }
}

/* Over-pagina: "Binnenkort: meer landen" licht uitgelicht (Ruben, 2026-10-22). */
.legal .about-soon { padding: 20px 24px; border: 1px solid var(--border); border-inline-start: 4px solid var(--lilac); border-radius: var(--r-mid); background: var(--card); box-shadow: var(--shadow-sm); }
.about-soon h2 { display: flex; align-items: center; gap: 8px; }
.about-soon h2 .icon { flex: none; width: 20px; height: 20px; color: var(--brand); }

/* ---------- Footer: Instagram-knop, exact zoals Kavelradar (Duc, 2026-10-22; maten in CLAUDE.md) ---------- */
.ft-ig { display: inline-flex; align-items: center; gap: 12px; width: var(--footer-tagline-w, 218px); max-width: 100%; margin-block-start: 16px;
  padding-block: 8px; padding-inline: 8px 18px; border: 1px solid var(--border); border-radius: 14px; background: var(--card);
  text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.footer-col a.ft-ig, .footer-col a.ft-ig:hover { text-decoration: none; }
.ft-ig:hover { border-color: #C2C0F0; box-shadow: 0 8px 22px -8px rgba(63, 60, 187, 0.22); }
.ft-ig img { flex: none; width: 42px; height: 42px; border-radius: 10px; }
.ft-ig-text { display: flex; flex-direction: column; gap: 2px; line-height: 1.25; min-width: 0; }
.ft-ig-handle { font-size: 14px; font-weight: 800; color: var(--heading); }
.ft-ig-follow { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--brand); }
.ft-ig-follow .icon { width: 13px; height: 13px; }
@media (max-width: 992px) {
  /* Mobiel (Duc, 2026-10-22): korter dan de tekstregel en gecentreerd; 218 px zoals de knop bij Kavelradar op desktop. */
  .ft-ig { display: flex; width: 218px; margin-inline: auto; gap: 8px; padding-block: 7px; padding-inline: 7px 12px; border-radius: 12px; margin-block-start: 14px; }
  .ft-ig img { width: 32px; height: 32px; border-radius: 8px; }
  .ft-ig-handle { font-size: 13px; }
  .ft-ig-follow { font-size: 12px; }
}

/* ---------- Uitgelicht en meer gezien worden (Duc, 2026-10-22; zoals Marktplaats) ---------- */
.tag-feat { gap: 5px; background: var(--sun); color: var(--ink); font-weight: 800; }
.tag-feat .icon { width: 14px; height: 14px; fill: currentColor; stroke: none; }
.job-card.is-featured { border-color: #F2CF63; box-shadow: 0 0 0 1px #F2CF63, var(--shadow-sm); }
.feat-note { display: flex; gap: 8px; align-items: flex-start; margin-block-end: 16px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.feat-note .icon { flex: none; width: 16px; height: 16px; margin-block-start: 2px; color: #D9A400; fill: currentColor; stroke: none; }
.boost { max-width: 560px; margin-block-start: 24px; }
.boost-list { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-block-start: 16px; }
.boost-list li { display: flex; align-items: center; gap: 16px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--r-mid); background: var(--soft); }
.boost-text { flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.45; color: var(--muted); }
.boost-text strong { font-size: 16px; color: var(--heading); }
.boost-price { flex: none; padding: 6px 12px; border-radius: 999px; background: var(--card); border: 1px solid var(--border); font-size: 15px; font-weight: 800; color: var(--brand); }
.boost-seeker { display: flex; gap: 8px; align-items: flex-start; margin-block-start: 16px; font-size: 15px; line-height: 1.5; color: var(--text); }
.boost-seeker .icon { flex: none; width: 18px; height: 18px; margin-block-start: 2px; color: var(--brand); }
.boost .note { margin-block-start: 12px; }

/* Footer: de zin onder het logo linkt naar de homepage, maar ziet eruit als gewone tekst (Duc, 2026-10-22). */
.footer-col a.ft-about-link { display: inline; font-weight: inherit; color: inherit; }

/* ---------- Footer: onderste balk met de weergave Licht/Donker, exact zoals Kavelradar (Duc, 2026-10-23) ---------- */
.footer-bottom-wrap { max-width: var(--page-max); margin: 20px auto 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block-start: 24px; border-block-start: 1px solid var(--line); }
.footer-copy { font-size: 14px; color: var(--muted); }
.footer-theme-row { display: flex; align-items: center; gap: 12px; }
.footer-theme-label { font-size: 11px; font-weight: 700; color: var(--light); }
.theme-switch { display: inline-flex; padding: 3px; gap: 2px; background: var(--soft); border: 1px solid var(--line); border-radius: 999px; }
.theme-switch button { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 11px; font-weight: 700; color: var(--muted); cursor: pointer; transition: all .2s; }
.theme-switch button[aria-pressed="true"] { background: var(--card); color: var(--brand); box-shadow: 0 2px 6px rgba(0, 0, 0, .08); }
.theme-switch .icon { width: 13px; height: 13px; stroke-width: 2.2; color: var(--brand); fill: none; }
.theme-switch button[aria-pressed="true"] .icon { fill: currentColor; }
@media (max-width: 560px) {
  .footer-bottom-wrap { flex-direction: column; padding-block-start: 20px; gap: 14px; }
  .footer-theme-row { justify-content: center; width: 100%; order: -1; }
  .footer-copy { text-align: center; }
}

/* ---------- Donker (alleen als iemand zelf Donker kiest; kleuren van NOWEWO, opbouw zoals Kavelradar) ---------- */
html[data-theme="dark"] {
  --bg: #0F0E24; --bg-grad: linear-gradient(135deg, #12112B 0%, #0F0E24 50%, #0C0B1E 100%);
  --card: #1A1938; --text: #E4E4F5; --heading: #F5F5FF; --muted: #B4B3D3; --light: #9C9BC0;
  --border: #34326A; --line: #262450; --soft: #23224A; --accent-soft: #2A2860; --accent-text: #B9B7FF;
  --brand: #A3A1FF; --brand-hover: #B9B7FF; --accent: #5653D6; --accent-hover: #6461E0; --lilac: #8E8BFF;
  --office: #6EE7B7; --office-soft: #0E3B2E;
  --warn-bg: #3A2A10; --warn-text: #F8D9A0; --warn-border: #6B4E1C; --error: #FF8A8A;
  --shadow-lg: 0 24px 48px -16px rgba(0, 0, 0, .55); --shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px -8px rgba(0, 0, 0, .45);
  --shadow-btn: 0 8px 18px -8px rgba(0, 0, 0, .6);
  color-scheme: dark;
}
html[data-theme="dark"] .site-header { background: rgba(15, 14, 36, .86); }
html[data-theme="dark"] .site-footer { background: rgba(18, 17, 43, .7); }
html[data-theme="dark"] .logo, html[data-theme="dark"] .footer-col a.logo { color: var(--heading); }
html[data-theme="dark"] .theme-switch .icon { color: var(--brand); }
/* Vlakken met witte tekst: in donker een vol paars, anders is de tekst niet leesbaar op het lichte paars. */
html[data-theme="dark"] .skip { background: var(--accent); }
html[data-theme="dark"] .btn-dark { background: var(--accent); }
html[data-theme="dark"] .chip.is-active, html[data-theme="dark"] .chip-check input:checked + span { background: var(--accent); }
html[data-theme="dark"] .country-menu[open] summary { background: var(--accent); }
html[data-theme="dark"] .lang-menu[open] summary { background: var(--accent); }
html[data-theme="dark"] .lang-list a[aria-current="true"] { background: var(--accent); }
html[data-theme="dark"] .door.is-on .door-state { background: var(--accent); }
html[data-theme="dark"] .steps li::before { background: var(--accent); }
html[data-theme="dark"] .legal li::before { background: var(--accent); }
html[data-theme="dark"] .lang-open:hover { background: var(--accent); }
html[data-theme="dark"] .map-pin { background: var(--accent); }
html[data-theme="dark"] .pg[aria-current="page"] { background: var(--accent); border-color: var(--accent); }

/* ---------- Footer op tablet en mobiel: kolommen naast elkaar, zoals Kavelradar (Duc, 2026-10-23) ----------
   Desktop blijft zoals het was. Volgorde in de HTML: merk, Platform, Hulp, Juridisch, Talen. */
@media (max-width: 992px) {
  .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 32px; }
  .footer-about { grid-column: auto; }
  .footer-inner > .footer-col:last-child { grid-column: 1 / -1; }   /* Talen over de volle breedte */
  .footer-langs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
  .ft-ig { margin-inline: 0; }   /* in de merk-kolom links, onder de tekst (gecentreerd was voor de oude footer van één kolom) */
}
@media (max-width: 560px) {
  /* Kavelradar: 1fr max-content. Bij ons is "Gratis vacature plaatsen" lang: met max-content werd de merk-kolom op 360 px
     maar 100 px breed. Daarom hooguit 44%, maar altijd minstens het langste woord (een lange link mag op twee regels). */
  .footer-inner { grid-template-columns: minmax(0, 1fr) minmax(min-content, 44%); gap: 36px 20px; text-align: start; align-items: start; }
  .footer-col { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
  .footer-col .footer-links { width: 100%; }
  .footer-inner > .footer-col:last-child { display: block; }
  .ft-ig { margin-inline: 0; max-width: 100%; }
}

/* ---------- Vaste vormen in plaats van vrij doorlopende pillen (CLAUDE.md, "Rijen en rasters altijd synchroon";
   Duc, 2026-10-23). Elke rij heeft evenveel vakjes, alle vakjes even breed (en per rij even hoog). ---------- */
/* Keuzeknoppen (soort werk, werkplek, dienstverband, tips): raster van 2, in formulieren vanaf 600 px 3. */
.chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 8px; }  /* vaste kolommen per breedte, vakjes minstens 10rem */
.chips > .chip, .chips > .chip-check { min-width: 0; }
.chips > .chip, .chip-check > span { display: block; width: 100%; text-align: center; min-height: 40px; border-radius: var(--r-btn); }  /* gewone tekst: loopt netjes om */
/* Tekst in het midden (Ruben, 2026-10-23): als blok vult de tekst geen 40 px; met evenveel ruimte boven en onder
   (40 px min de regelhoogte, gedeeld door twee, min de rand) staat één regel in het midden; 1 px lager, omdat de
   letters van Lexend in hun regel iets hoog staan (gemeten op de pixels van de tekst). */
.chips > .chip, .chip-check > span { padding-block: calc((40px - 1.4em) / 2) calc((40px - 1.4em) / 2 - 2px); }
.chip-check { display: flex; }
.faq-jump { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 640px) { .faq-jump { display: flex; } .faq-jump .chip { width: auto; border-radius: var(--r-pill); } }  /* mobiel: één veegbare rij */
/* Tags op kaartjes en vacaturepagina's: raster van 2. */
.tag-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: 6px; }
.tag-row > .tag { min-width: 0; border-radius: var(--r-btn); }
.tag-row > .tag:not(.tag-feat) { display: block; }
/* Talen op kaartjes: altijd onder elkaar, even breed. */
.lang-tags { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.lang-tags > * { min-width: 0; }
/* Actieve filters boven de resultaten: raster van 2, vanaf 768 px 3. */
.f-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 768px) { .f-chips { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.f-chip { min-width: 0; justify-content: space-between; border-radius: var(--r-btn); }
/* Tellers op de homepage: op mobiel onder elkaar, breder altijd één rij. */
.home-stats { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
@media (min-width: 768px) { .home-stats { grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px 20px; } }  /* één rij, vakjes even breed */

/* Footer op de telefoon (Duc, 2026-10-23): merk (met de Instagram-knop) en Platform elk over de volle breedte; Hulp en
   Juridisch naast elkaar; Talen in twee kolommen. De Instagram-knop links, vaste maat 218 px met plaatje 32 px. */
@media (max-width: 560px) {
  .footer-about, .footer-inner > .footer-col:nth-child(2) { grid-column: 1 / -1; }
  .ft-ig { display: flex; width: 218px; max-width: 100%; margin-inline: 0; }
}
