

@font-face {
  font-family: "Source Han Sans SC";
  src: url("../fonts/SourceHanSansSC-core.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+20-7E,U+A9,U+AE,U+B0-B1,U+B7,U+D7,U+F7,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+2103,U+2122,U+2190-2193,U+2248,U+2260,U+2264-2265,U+2460-2469,U+3000-3002,U+3008-3011,U+3014-3015,U+4E00,U+4E07,U+4E09-4E0B,U+4E0D-4E0E,U+4E14,U+4E16,U+4E1A,U+4E22,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E48-4E49,U+4E4B,U+4E5F,U+4E86,U+4E8B-4E8C,U+4E8E,U+4E91-4E92,U+4E9B,U+4EA4,U+4EA7,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4ECB,U+4ECD-4ECE,U+4ED8,U+4EE3,U+4EE5,U+4EEA,U+4EEC,U+4EF0,U+4EF6-4EF7,U+4EFB,U+4F01,U+4F0F,U+4F18,U+4F1A,U+4F20,U+4F24,U+4F30,U+4F34,U+4F46,U+4F4D-4F4E,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F7F,U+4F9B,U+4F9D,U+4FBF,U+4FDD,U+4FE1,U+4FEE-4FEF,U+5019,U+503C,U+505A,U+505C,U+50A8,U+50CF,U+5143,U+5146,U+5148-5149,U+514B,U+5165,U+5168,U+516B-516C,U+5171,U+5173,U+5177-5178,U+5185,U+518D,U+519C,U+51B3,U+51C6,U+51CF,U+51DD,U+51ED,U+51FA,U+5206,U+5212,U+5217,U+521B,U+521D,U+5224,U+5229,U+522B,U+5230,U+5236-5237,U+524D,U+5267,U+529B,U+529E-52A1,U+52A3,U+52A8-52A9,U+52BF,U+5305,U+5316,U+533A,U+5341,U+5343,U+5347,U+534F,U+5355,U+535A,U+5360,U+5370-5371,U+5373,U+5382,U+5386,U+538B,U+539F,U+53BB,U+53C2,U+53CA,U+53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53EF-53F0,U+53F6-53F8,U+5403-5404,U+5408,U+540C-540E,U+5411,U+5426,U+542B,U+544A,U+5458,U+5468,U+5473,U+547D,U+548C,U+54C1,U+5546,U+5584,U+5668,U+56DB,U+56DE,U+56E0,U+56E2,U+56ED,U+56F0,U+56F4,U+56FA,U+56FD-56FE,U+5728,U+5730,U+573A,U+5740,U+5747,U+5750,U+5757,U+575A,U+5782,U+578B,U+57CE,U+57DF,U+57FA,U+586B,U+5883,U+589E,U+58F3,U+5904,U+5907,U+590D,U+5916,U+591A,U+591C,U+5927,U+5929-592A,U+5931,U+5934,U+5939,U+5957,U+59CB,U+59FF,U+5B50,U+5B57-5B58,U+5B66,U+5B83,U+5B88-5B89,U+5B8C,U+5B9A,U+5B9E,U+5BA1,U+5BA4,U+5BB6,U+5BB9,U+5BC6,U+5BDF,U+5BF8-5BF9,U+5BFC,U+5C01,U+5C04,U+5C06,U+5C0F,U+5C11,U+5C18,U+5C31,U+5C3A,U+5C3C-5C3E,U+5C40,U+5C42,U+5C4F,U+5C55,U+5C5E,U+5D4C,U+5DDE,U+5DE1,U+5DE5,U+5DEE,U+5DF2,U+5E02-5E03,U+5E26-5E27,U+5E2E,U+5E38,U+5E45,U+5E62,U+5E72-5E74,U+5E76,U+5E8F,U+5E94-5E95,U+5EA6-5EA7,U+5ECA,U+5EF6,U+5EFA,U+5F00,U+5F02,U+5F0F,U+5F15,U+5F20,U+5F2F,U+5F31,U+5F3A,U+5F53,U+5F55,U+5F62,U+5F71,U+5F7B-5F7C,U+5F80,U+5F84-5F85,U+5F88,U+5F8B,U+5F97,U+5FA1,U+5FAA,U+5FC3,U+5FC5,U+5FEB,U+6001,U+6025,U+6027,U+606F,U+6076,U+60EF,U+60F3,U+610F,U+611F,U+613F,U+6162,U+61C2,U+6210-6211,U+6216,U+6218,U+6240,U+624B,U+624D,U+6253,U+6258,U+626D,U+6270,U+627F-6280,U+628A,U+6297,U+62A2,U+62A4-62A5,U+62B5,U+62C5-62C6,U+62CD,U+62FC,U+62FE,U+6301-6302,U+6309,U+6311,U+6321,U+635F,U+6362,U+636E,U+638C,U+6392,U+63A2,U+63A5,U+63A7-63A8,U+63D0,U+63E1,U+641C,U+6444,U+6491,U+649E,U+64A4,U+64CD,U+652F,U+6536,U+653B,U+653E-653F,U+6545,U+6548,U+655B,U+6562,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65CB,U+65E0,U+65E9,U+65F6,U+660E,U+661F,U+662F,U+663E,U+666F-6670,U+667A,U+6697,U+66B4,U+66F2,U+66F4,U+66FF-6700,U+6709,U+671B,U+671F,U+672A,U+672C,U+672F,U+673A,U+6742-6743,U+6750,U+675F,U+6761,U+6765,U+676D,U+6781,U+6784,U+6790,U+67B6,U+67E5,U+6807,U+6821,U+6837-6838,U+683C,U+6848,U+6865,U+6868,U+6881,U+68B0,U+68C0,U+690D,U+697C,U+6A21,U+6A2A,U+6B21-6B22,U+6B62-6B65,U+6B7B,U+6BB5,U+6BCF,U+6BD4,U+6BEB,U+6C11,U+6C14,U+6C34,U+6C42,U+6C47,U+6C5F,U+6C89,U+6CA1,U+6CB3,U+6CB9,U+6CCA,U+6CD5,U+6CE2,U+6CE5,U+6CE8,U+6D0B,U+6D1E,U+6D41,U+6D45,U+6D4B,U+6D4E-6D4F,U+6D59,U+6D77,U+6D88,U+6DB5,U+6DC0,U+6DF1,U+6E05,U+6E17,U+6E29,U+6E2F,U+6E7F,U+6E90,U+6EAF,U+6EDA,U+6EE1,U+6F02,U+6F0F,U+6F14,U+6F5C,U+6FC0,U+706B,U+706F,U+7075,U+7089,U+70B9,U+7126,U+7136,U+7167,U+7247-7248,U+7269,U+7279,U+7280,U+72EC-72ED,U+7387,U+738B,U+73AF-73B0,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767D-767E,U+7684,U+76D1,U+76D6,U+76D8,U+76EE,U+76F2,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+7740,U+77AD,U+77E5,U+77ED,U+77F3,U+7801,U+7814,U+7834,U+7855,U+786C,U+786E,U+788D,U+78B0,U+793A,U+79BB,U+79D1,U+79E9,U+79EF,U+79FB,U+7A0B,U+7A33,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A91,U+7ACB,U+7AD9,U+7AEF,U+7B2C,U+7B3C,U+7B49,U+7B54,U+7B56,U+7B80,U+7B97,U+7BA1,U+7BB1,U+7C73,U+7C7B,U+7C89,U+7CBE,U+7CFB,U+7D22,U+7D27,U+7D2F,U+7E41,U+7EA2,U+7EA7,U+7EAC,U+7EAF,U+7EB9,U+7EBF,U+7EC4,U+7EC8,U+7ECF,U+7ED3,U+7ED5,U+7ED9,U+7EDC-7EDD,U+7EDF,U+7EED,U+7EF4,U+7EFC,U+7F16,U+7F18,U+7F1D,U+7F29,U+7F50-7F51,U+7F6E,U+7FFB,U+8005,U+800C,U+8017,U+8054,U+805A,U+8089,U+80CC,U+80FD,U+811A,U+81EA,U+81F3-81F4,U+822A,U+8231,U+8236,U+8239,U+8258,U+826F,U+8282,U+82F1,U+8303,U+8377,U+83B7,U+83DC,U+8425,U+843D,U+878D,U+87BA,U+884C,U+8854,U+8865,U+8870,U+88AB,U+88C2,U+88C5,U+897F,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8-89C9,U+89D2,U+89E3,U+89E6,U+8B66,U+8BA1,U+8BA4,U+8BA8-8BA9,U+8BAE,U+8BB0,U+8BBA,U+8BBE,U+8BC1,U+8BC4,U+8BC6,U+8BDD,U+8BE5,U+8BEF,U+8BF4,U+8BF7,U+8BFA-8BFB,U+8C01,U+8C03,U+8C61,U+8D23,U+8D25,U+8D28,U+8D2D,U+8D34,U+8D44,U+8D56,U+8D62,U+8D70,U+8D77,U+8D85,U+8D8A-8D8B,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEF,U+8E2A,U+8EAB,U+8F68,U+8F6C,U+8F7B,U+8F7D,U+8F85,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC5,U+8FC7,U+8FCE,U+8FD0-8FD1,U+8FD4,U+8FD8-8FD9,U+8FDB-8FDC,U+8FDE,U+8FEB,U+8FED,U+8FF9,U+8FFD,U+9002,U+9010,U+9014,U+901A,U+901F,U+903B,U+9047,U+9053,U+906E,U+907F,U+90AE,U+90E8,U+90FD,U+914D,U+9192,U+91C7,U+91CA,U+91CC-91CF,U+91D1,U+9488-9489,U+949F,U+94DD,U+94FE,U+9501,U+9505,U+9519,U+957F,U+95ED-95EE,U+95F4,U+9614,U+961F,U+9632-9633,U+9635,U+9640,U+9644,U+964D,U+9650,U+9664,U+9669,U+968F,U+969C,U+96A7,U+96BE,U+96C6,U+96E8,U+96F6-96F7,U+96FE,U+9700,U+9732,U+9759,U+975E,U+9760,U+9762,U+9875-9876,U+9879,U+9884,U+9886,U+9891,U+9898,U+98CE,U+98DE,U+9996,U+9A76,U+9A7E,U+9A8C,U+9AD8,U+9ED8,U+FF01,U+FF03,U+FF05-FF06,U+FF08-FF0D,U+FF0F,U+FF1A-FF1B,U+FF1F,U+FF3B,U+FF3D,U+FF5B-FF5E,U+FFE5;
}
@font-face {
  font-family: "Source Han Sans SC";
  src: url("../fonts/SourceHanSansSC-supplement.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+4E01,U+4E03,U+4E08,U+4E11,U+4E13,U+4E18-4E19,U+4E1B-4E1D,U+4E25,U+4E27,U+4E2B,U+4E30,U+4E32,U+4E34,U+4E38-4E39,U+4E3D-4E3E,U+4E43,U+4E45,U+4E4C-4E50,U+4E52-4E54,U+4E56,U+4E58-4E59,U+4E5D-4E5E,U+4E60-4E61,U+4E66,U+4E70-4E71,U+4E73,U+4E7E,U+4E88-4E89,U+4E8F,U+4E94-4E95,U+4E9A,U+4EA1-4EA2,U+4EA5-4EA6,U+4EA8-4EA9,U+4EAC-4EAD,U+4EB2,U+4EBF,U+4EC1,U+4EC5-4EC7,U+4ECA,U+4ED1,U+4ED3-4ED7,U+4ED9,U+4EDF,U+4EE4,U+4EF2,U+4EFD,U+4EFF,U+4F0A,U+4F0D-4F0E,U+4F10-4F11,U+4F17,U+4F19,U+4F1E-4F1F,U+4F26,U+4F2A,U+4F2F,U+4F36,U+4F38,U+4F3A,U+4F3C,U+4F43,U+4F4F-4F51,U+4F5B,U+4F63,U+4F69,U+4F6C,U+4F6F-4F70,U+4F73,U+4F84,U+4F88,U+4F8B,U+4F8D,U+4F97,U+4FA0,U+4FA3,U+4FA5-4FA9,U+4FAE-4FAF,U+4FB5,U+4FC3-4FC4,U+4FCA,U+4FCF-4FD0,U+4FD7-4FD8,U+4FDE,U+4FE9,U+4FED,U+4FF1,U+4FFA,U+500D,U+5012,U+5014,U+5018,U+501A,U+501F,U+5021,U+5026,U+502A,U+503A,U+503E,U+5047,U+504F,U+5065,U+5076-5077,U+507F-5080,U+5085,U+5088,U+508D,U+50A3,U+50AC,U+50B2,U+50BB,U+50DA,U+50E7,U+50F3,U+50F5,U+50FB,U+5112,U+5121,U+513F,U+5141,U+5144-5145,U+514D,U+5151,U+5154,U+515A,U+515C,U+5162,U+516D,U+5170,U+5174-5176,U+5179,U+517B-517D,U+5180,U+5188-5189,U+518C,U+5192,U+5195,U+5197,U+5199,U+519B,U+51A0,U+51A4,U+51AC,U+51AF-51B0,U+51B2,U+51B5-51B7,U+51BB,U+51C0,U+51C4,U+51C9,U+51CB-51CC,U+51D1,U+51DB,U+51E0-51E1,U+51E4,U+51EF-51F0,U+51F3,U+51F6,U+51F8-51F9,U+51FB,U+51FD,U+51FF-5201,U+5203,U+5207,U+520A,U+5211,U+5218-521A,U+5220,U+5228,U+522E,U+5238-523B,U+523D,U+5241-5243,U+524A,U+5250-5251,U+5254,U+5256,U+5265,U+5269-526A,U+526F,U+5272,U+527F,U+5288,U+529D,U+52AA-52AB,U+52B1-52B3,U+52C3,U+52C7,U+52C9,U+52CB,U+52D2,U+52D8,U+52DF,U+52E4,U+52FA,U+52FE-5300,U+5306,U+5308,U+5317,U+5319,U+531D,U+5320-5321,U+5323,U+532A,U+5339,U+533B,U+533F,U+5348-534A,U+534E,U+5351-5353,U+5356-5357,U+535C,U+535E,U+5361-5362,U+5364,U+5367,U+536B,U+536F,U+5374-5375,U+5377-5378,U+537F,U+5384-5385,U+5389,U+538C,U+5395,U+5398,U+539A,U+53A2,U+53A6,U+53A8-53A9,U+53BF,U+53C1,U+53C8-53C9,U+53CB-53CC,U+53D4,U+53D9,U+53DB,U+53E4-53E6,U+53EA-53EE,U+53F2-53F3,U+53F9,U+53FC,U+5401,U+5409-540A,U+540F-5410,U+5413,U+5415,U+5417,U+541B,U+541D-5420,U+5427-5429,U+542C-542F,U+5431,U+5434-5435,U+5438-5439,U+543B-543C,U+543E,U+5440,U+5446,U+5448,U+5450,U+5455,U+545B-545C,U+5462,U+5475,U+5478,U+547B-547C,U+5480,U+5486,U+548B,U+548E-5490,U+5492,U+5495-5496,U+5499,U+54A8,U+54AC,U+54AF,U+54B1,U+54B3,U+54B8,U+54BD,U+54C0,U+54C4,U+54C6-54C9,U+54CD-54CE,U+54D1,U+54D7,U+54DF,U+54E5-54E6,U+54E8-54EA,U+54ED-54EE,U+54F2,U+54FA,U+54FC,U+5501,U+5506-5507,U+5509,U+5510,U+5524,U+552C,U+552E-552F,U+5531,U+553E,U+5543-5544,U+554A,U+5561,U+5564-5566,U+556A,U+556E,U+5578,U+557C,U+5580,U+5582,U+5587,U+5589-558A,U+5598,U+559C-559D,U+55A7,U+55B3,U+55B7,U+55BB,U+55C5,U+55D3,U+55DC,U+55E1,U+55E3,U+55FD,U+5609,U+560E,U+5618,U+561B,U+5631-5632,U+5634,U+5636,U+563B,U+563F,U+564E,U+566A,U+566C,U+5676,U+568E-568F,U+56A3,U+56B7,U+56BC,U+56CA,U+56DA,U+56E4,U+56F1,U+5703,U+5706,U+5708,U+571F,U+5723,U+572D,U+573E,U+574A,U+574D-574F,U+5751,U+575B,U+575D-5761,U+5764,U+5766,U+576A,U+576F,U+5777,U+5783-5784,U+5792,U+579B,U+57A2-57A3,U+57A6,U+57AB,U+57AE,U+57C2-57C3,U+57CB,U+57D4,U+57E0,U+57F9,U+5802,U+5806,U+5811,U+5815,U+5821,U+5824,U+582A,U+5830,U+5835,U+584C,U+5851,U+5854,U+5858,U+585E,U+5885,U+5892-5893,U+5899,U+589F,U+58A8-58A9,U+58C1,U+58D5,U+58E4,U+58EB-58EC,U+58EE,U+58F0,U+58F6,U+58F9,U+590F,U+5915,U+591F,U+592B,U+592E-592F,U+5937-5938,U+593A,U+5944,U+5947-5949,U+594B,U+594E-594F,U+5951,U+5954,U+5956,U+5960,U+5962,U+5965,U+5973-5974,U+5976,U+5978-5979,U+597D,U+5982,U+5984,U+5986-5988,U+598A,U+5992-5993,U+5996,U+5999,U+59A5,U+59A8,U+59AE,U+59B9,U+59BB,U+59C6,U+59D0-59D1,U+59D3-59D4,U+59DA,U+59DC,U+59E5,U+59E8,U+59EC,U+59FB,U+5A01,U+5A03-5A04,U+5A07,U+5A18,U+5A1C,U+5A1F-5A20,U+5A25,U+5A29,U+5A31,U+5A36,U+5A46,U+5A49,U+5A5A,U+5A6A,U+5A74,U+5A76,U+5A7F,U+5A92,U+5A9A,U+5AB3,U+5AC1-5AC2,U+5AC9,U+5ACC,U+5AE1,U+5AE9,U+5B54-5B55,U+5B59,U+5B5C-5B5D,U+5B5F,U+5B63-5B64,U+5B69-5B6A,U+5B70,U+5B75,U+5B7A,U+5B7D,U+5B81,U+5B85,U+5B87,U+5B8B,U+5B8F,U+5B97-5B99,U+5B9B-5B9D,U+5BA0,U+5BA2-5BA3,U+5BA6,U+5BAA-5BAB,U+5BB0,U+5BB3-5BB5,U+5BBD-5BBF,U+5BC2,U+5BC4-5BC5,U+5BC7,U+5BCC,U+5BD0,U+5BD2-5BD3,U+5BDD-5BDE,U+5BE1,U+5BE5,U+5BE8,U+5BFA-5BFB,U+5BFF,U+5C09-5C0A,U+5C14,U+5C16,U+5C1A,U+5C1D,U+5C24,U+5C27,U+5C38-5C39,U+5C3F,U+5C41,U+5C45,U+5C48-5C4B,U+5C4E,U+5C51,U+5C60-5C61,U+5C65,U+5C6F,U+5C71,U+5C79,U+5C7F,U+5C81-5C82,U+5C94,U+5C97,U+5C9B,U+5CA9,U+5CAD,U+5CB3,U+5CB8,U+5CBF,U+5CD9,U+5CE1,U+5CE6,U+5CE8,U+5CEA,U+5CED,U+5CF0,U+5CFB,U+5D07,U+5D0E,U+5D14,U+5D16,U+5D29,U+5D2D,U+5DCD,U+5DDD,U+5DE2,U+5DE6-5DE9,U+5DEB,U+5DF1,U+5DF3-5DF4,U+5DF7,U+5DFE,U+5E01,U+5E05-5E06,U+5E08,U+5E0C,U+5E10,U+5E15-5E16,U+5E18,U+5E1A-5E1D,U+5E2D,U+5E3D,U+5E42,U+5E4C,U+5E55,U+5E78,U+5E7B-5E7D,U+5E7F,U+5E84,U+5E86-5E87,U+5E8A,U+5E90,U+5E93,U+5E97,U+5E99-5E9A,U+5E9C,U+5E9E-5E9F,U+5EAD,U+5EB6-5EB8,U+5EC9,U+5ED3,U+5ED6,U+5EF7,U+5F03-5F04,U+5F0A,U+5F13,U+5F17-5F18,U+5F1B,U+5F1F,U+5F25-5F27,U+5F39,U+5F52,U+5F5D,U+5F64,U+5F66,U+5F69-5F6A,U+5F6C-5F6D,U+5F70,U+5F79,U+5F81,U+5F8A,U+5F90,U+5F92,U+5F98,U+5FAE,U+5FB7,U+5FBD,U+5FC6,U+5FCC-5FCD,U+5FD7-5FD9,U+5FE0,U+5FE7,U+5FF1,U+5FF5,U+5FFB,U+5FFD,U+5FFF-6000,U+6002,U+600E,U+6012,U+6014-6016,U+601C-601D,U+6020,U+6028,U+602A,U+602F,U+603B,U+6043,U+604B,U+604D,U+6050,U+6052,U+6055,U+6062,U+6064,U+6068-6069,U+606B-606D,U+6070,U+6073,U+607C,U+607F,U+6084,U+6089,U+608D,U+6094,U+609F-60A0,U+60A3,U+60A6,U+60A8,U+60AC,U+60AF,U+60B2,U+60B8,U+60BC,U+60C5,U+60CA-60CB,U+60D1,U+60D5,U+60DC,U+60DF-60E0,U+60E6-60E9,U+60EB,U+60ED-60EE,U+60F0,U+60F6,U+60F9-60FA,U+6101,U+6108-6109,U+611A,U+6124,U+6127,U+6148,U+614C,U+614E,U+6151,U+6155,U+6167-6168,U+6170,U+6177,U+618B,U+618E,U+61A8,U+61BE,U+61C8,U+61CA,U+61D2,U+61E6,U+6208,U+620A,U+620C-620F,U+6212,U+621A,U+622A,U+622E,U+6233-6234,U+6237,U+623F,U+6241,U+6247,U+624E,U+6251-6252,U+6254,U+625B,U+6263,U+6266-6267,U+6269,U+626B-626C,U+626E-626F,U+6273,U+6276,U+6279,U+627C,U+627E,U+6284,U+6289,U+6291-6293,U+6295-6296,U+6298,U+629A-629B,U+62A0-62A1,U+62A8,U+62AB-62AC,U+62B1,U+62B9,U+62BC-62BD,U+62BF,U+62C2,U+62C4,U+62C7-62C9,U+62CC,U+62CE,U+62D0,U+62D2-62D4,U+62D6,U+62D8-62D9,U+62DB-62DC,U+62DF,U+62E2-62E3,U+62E5-62E9,U+62EC-62ED,U+62EF,U+62F1,U+62F3-62F4,U+62F7,U+62FD,U+62FF,U+6307,U+630E,U+6316,U+631A-631B,U+631D-6320,U+6323-6325,U+6328,U+632A-632B,U+632F,U+633A,U+633D,U+6342,U+6345-6346,U+6349,U+634C-6350,U+6355,U+635E,U+6361,U+6363,U+6367,U+6376-6377,U+637B,U+6380,U+6382,U+6387-6389,U+638F-6390,U+6396,U+6398,U+63A0,U+63A3,U+63A9-63AA,U+63B3,U+63B7-63B8,U+63BA,U+63C9,U+63CD,U+63CF,U+63D2,U+63D6,U+63E3,U+63E9-63EA,U+63ED,U+63F4,U+63FD,U+6400-6402,U+6405,U+640F-6410,U+6413-6414,U+641E,U+642A,U+642C-642D,U+643A,U+643D,U+6446-6448,U+644A,U+6454,U+6458,U+6467,U+6469,U+6478-6479,U+6482,U+6485,U+6487,U+6492,U+6495,U+64A9,U+64AC-64AE,U+64B0,U+64B5,U+64BC,U+64C2,U+64C5,U+64CE,U+64D2,U+64DE,U+64E6,U+6500,U+6512,U+6518,U+652B,U+6539,U+654C,U+654F,U+6551,U+6556,U+6559,U+655D-655E,U+6563,U+6566,U+656C,U+6572,U+6577,U+658B-658C,U+6591,U+6597,U+659C,U+659F,U+65A1,U+65A4-65A5,U+65A7,U+65A9,U+65AF,U+65BD,U+65C1,U+65C5,U+65CF,U+65D7,U+65E2,U+65E5-65E8,U+65EC-65ED,U+65F1,U+65F7,U+65FA,U+6602,U+6606,U+660C,U+660F,U+6613-6614,U+6620,U+6625,U+6627-6628,U+662D,U+663C,U+6643,U+664B-664C,U+6652-6653,U+6655,U+665A,U+6664,U+6666,U+6668,U+666E,U+6674,U+6676,U+667E,U+6682,U+6687,U+6691,U+6696,U+66AE,U+66D9,U+66DD,U+66F0,U+66F3,U+66F9,U+66FC,U+66FE,U+6708,U+670B,U+670D,U+6714,U+6717,U+671D,U+6728,U+672B,U+672D,U+6731,U+6734-6735,U+673D,U+6740,U+6746,U+6749,U+674E-674F,U+6751,U+6756,U+675C,U+6760,U+6768,U+676F-6770,U+677E-677F,U+6789,U+6795,U+6797,U+679A,U+679C-679D,U+67A2-67A3,U+67AA-67AB,U+67AF,U+67B7,U+67C4,U+67CF-67D4,U+67DC,U+67DE,U+67E0,U+67EC,U+67EF,U+67F1,U+67F3-67F4,U+67FF,U+6805,U+6808,U+680B,U+680F,U+6811,U+6813,U+6816-6817,U+682A,U+6839,U+683D,U+6842-6843,U+6845-6846,U+684C,U+6850-6851,U+6853-6854,U+6863,U+6869,U+6876,U+6885-6886,U+6897,U+68A2,U+68A6-68A8,U+68AD,U+68AF,U+68B3,U+68C9,U+68CB,U+68CD,U+68D2,U+68D5,U+68D8,U+68DA,U+68E0,U+68EE,U+68F1,U+68F5,U+68FA,U+6905,U+690E,U+6912,U+692D,U+6930,U+693D,U+693F,U+6954,U+695A,U+695E,U+6977,U+6982,U+6986,U+6994,U+699C,U+69A8,U+69B4,U+69B7,U+69D0,U+69DB,U+69FD,U+6A0A,U+6A1F,U+6A31,U+6A47,U+6A59,U+6A61,U+6A71,U+6A80,U+6A84,U+6AAC,U+6B20,U+6B23,U+6B27,U+6B32,U+6B3A,U+6B3E,U+6B47,U+6B49,U+6B4C,U+6B66-6B67,U+6B6A,U+6B79,U+6B7C,U+6B83,U+6B86,U+6B89-6B8B,U+6B96,U+6BB4,U+6BB7,U+6BBF,U+6BC1,U+6BC5,U+6BCB,U+6BCD,U+6BD2,U+6BD5-6BD7,U+6BD9,U+6BDB,U+6BE1,U+6BEF,U+6C0F,U+6C13,U+6C16,U+6C1B,U+6C1F,U+6C22,U+6C26-6C28,U+6C2E-6C30,U+6C38,U+6C40-6C41,U+6C49,U+6C50,U+6C55,U+6C57,U+6C5B,U+6C5D-6C5E,U+6C60-6C61,U+6C64,U+6C6A,U+6C70,U+6C72,U+6C79,U+6C7D-6C7E,U+6C81-6C83,U+6C88,U+6C8F,U+6C99,U+6C9B,U+6C9F,U+6CA4-6CA7,U+6CAA-6CAB,U+6CAE,U+6CB8,U+6CBB-6CBF,U+6CC4-6CC5,U+6CC9,U+6CCC,U+6CDB,U+6CDE,U+6CE1,U+6CE3,U+6CEA,U+6CF0,U+6CF3,U+6CF5,U+6CFB-6CFD,U+6D01,U+6D12,U+6D17,U+6D1B,U+6D25,U+6D2A,U+6D31-6D32,U+6D3B-6D3E,U+6D46-6D47,U+6D4A,U+6D51,U+6D53,U+6D5A,U+6D66,U+6D69-6D6A,U+6D6E,U+6D74,U+6D78,U+6D82,U+6D85,U+6D89,U+6D8C,U+6D8E,U+6D95,U+6D9B,U+6D9D,U+6D9F,U+6DA1,U+6DA3-6DA4,U+6DA6-6DAA,U+6DAF,U+6DB2,U+6DB8,U+6DC4,U+6DC6,U+6DCB-6DCC,U+6DD1,U+6DD6,U+6DD8,U+6DE1,U+6DE4,U+6DEB-6DEC,U+6DEE,U+6DF3,U+6DF7,U+6DF9,U+6DFB,U+6E0A,U+6E0D,U+6E10,U+6E14,U+6E1D,U+6E20-6E21,U+6E23-6E24,U+6E2D,U+6E34,U+6E38,U+6E3A,U+6E43,U+6E4D,U+6E56,U+6E58,U+6E5B,U+6E7E,U+6E83,U+6E85,U+6E89,U+6E9C,U+6EA2,U+6EAA,U+6EB6,U+6EBA,U+6EC1,U+6EC7,U+6ECB,U+6ED1,U+6ED3-6ED4,U+6EDE,U+6EE4-6EE6,U+6EE8-6EE9,U+6EF4,U+6F06,U+6F13,U+6F20,U+6F2B,U+6F31,U+6F33,U+6F3E,U+6F4D,U+6F58,U+6F5E,U+6F66,U+6F6D-6F6E,U+6F84,U+6F88,U+6F8E,U+6F9C,U+6FA1,U+6FB3,U+6FD2,U+7011,U+704C,U+706D,U+7070,U+7076,U+7078,U+707C,U+707E-707F,U+708A,U+708E,U+7092,U+7094-7095,U+7099,U+70AC-70AF,U+70B3,U+70B8,U+70BC-70BD,U+70C1-70C3,U+70C8,U+70D8-70D9,U+70DB,U+70DF,U+70E4,U+70E6-70E7,U+70E9,U+70EB-70ED,U+70EF,U+70F7,U+70F9,U+70FD,U+7109-710A,U+7115,U+7119-711A,U+7130,U+714C,U+714E,U+715E,U+7164,U+716E,U+717D,U+7184,U+718A,U+718F,U+7194,U+7199,U+719F,U+71AC,U+71C3,U+71CE,U+71D5,U+71E5,U+7206,U+722A,U+722C,U+7231,U+7235-7239,U+723D,U+724C,U+7259,U+725B,U+725F,U+7261-7262,U+7267,U+7272,U+7275,U+727A,U+7281,U+728A,U+72AC,U+72AF,U+72B6,U+72B9,U+72C2,U+72C4,U+72C8,U+72D0,U+72D7,U+72D9,U+72DE,U+72E0-72E1,U+72EE,U+72F0-72F1,U+72F8,U+72FC,U+730E,U+7316,U+731B-731C,U+7329-732B,U+732E,U+7334,U+733E-733F,U+736D,U+7384,U+7389,U+7396,U+739B,U+73A9,U+73AB,U+73B2,U+73BB,U+73CA,U+73CD,U+73D0,U+73E0,U+73ED,U+7403,U+7405,U+7409,U+7410,U+7422,U+7433-7436,U+743C,U+745A,U+745E-745F,U+7470,U+7476,U+7483,U+74DC,U+74E2-74E4,U+74E6,U+74EE,U+74F6-74F7,U+7504,U+7518,U+751A,U+751C,U+7525,U+7529,U+752B,U+752D,U+7530,U+7532-7533,U+7537-7538,U+7545,U+754F,U+7554,U+755C,U+7565-7566,U+756A,U+7574,U+7578,U+7586,U+758F,U+7591,U+7597,U+7599-759A,U+759F,U+75A1,U+75A4-75A5,U+75AB,U+75AE-75AF,U+75B2,U+75B5,U+75B9,U+75BC-75BE,U+75C5,U+75C7-75CA,U+75D2,U+75D4-75D5,U+75D8,U+75DB,U+75DE,U+75E2,U+75EA,U+75F0,U+75F4,U+75F9,U+7601,U+761F,U+7624,U+7626,U+7629-762B,U+7634,U+7638,U+764C,U+7663,U+7678,U+767B,U+7682,U+7686-7687,U+768B,U+7691,U+7696,U+76AE,U+76B1,U+76BF,U+76C2,U+76C5-76C6,U+76C8,U+76CA,U+76CE-76D0,U+76D2,U+76D4,U+76D7,U+76DB,U+76DF,U+76EF,U+76FC,U+76FE,U+7709,U+7720,U+7728-7729,U+772F,U+7736-7737,U+773A,U+7741,U+775B,U+7761,U+7763,U+7766,U+776B-776C,U+7779,U+7784-7785,U+778E,U+7792,U+77A5,U+77A7,U+77A9-77AA,U+77AC,U+77B3,U+77BB,U+77D7,U+77DB,U+77E2-77E3,U+77E9,U+77EB,U+77EE,U+77FD-77FF,U+7802,U+780C-780D,U+7812,U+7816,U+781A,U+7827,U+7830,U+7837-7838,U+783E,U+7840,U+7845,U+7852,U+785D,U+786B,U+7877,U+787C,U+7889,U+788C,U+788E,U+7891,U+7897-7898,U+789F,U+78A7,U+78B1,U+78B3-78B4,U+78BE,U+78C1,U+78C5,U+78CA-78CB,U+78D0,U+78D5,U+78E8,U+78F7,U+78FA,U+7901,U+793C,U+793E,U+7941,U+7948,U+7956,U+795D-795F,U+7965,U+7968,U+796D,U+7977-7978,U+7981,U+7984,U+798F,U+79B9,U+79BD-79BE,U+79C0-79C1,U+79C3,U+79C6,U+79C9,U+79CB,U+79CD,U+79D2,U+79D8,U+79DF,U+79E4,U+79E6-79E7,U+79F0,U+79F8,U+79FD,U+7A00,U+7A0D-7A0E,U+7A17,U+7A1A,U+7A20,U+7A3B-7A3D,U+7A3F,U+7A46,U+7A57,U+7A74,U+7A76-7A77,U+7A83,U+7A8D,U+7A92,U+7A96-7A98,U+7A9C-7A9D,U+7A9F,U+7AA5,U+7ABF,U+7AD6,U+7ADE-7AE0,U+7AE3,U+7AE5,U+7AED,U+7AF9,U+7AFF,U+7B06,U+7B0B,U+7B11,U+7B14,U+7B1B,U+7B26,U+7B28,U+7B3A,U+7B4B,U+7B4F-7B52,U+7B5B,U+7B77,U+7B79,U+7B7E,U+7B8D,U+7B94-7B95,U+7BA9,U+7BAD,U+7BC6-7BC7,U+7BD3,U+7BD9,U+7BE1,U+7BEE,U+7BF1,U+7BF7,U+7C07,U+7C27,U+7C3F,U+7C4D,U+7C7D,U+7C92,U+7C95,U+7C97-7C98,U+7C9F,U+7CA4-7CA5,U+7CAA,U+7CAE,U+7CB1,U+7CB3,U+7CB9,U+7CCA,U+7CD5-7CD6,U+7CD9,U+7CDC,U+7CDF-7CE0,U+7CEF,U+7D0A,U+7D20,U+7D2B,U+7D6E,U+7E82,U+7EA0,U+7EA4,U+7EA6,U+7EAA-7EAB,U+7EB1-7EB3,U+7EB5-7EB8,U+7EBA,U+7EBD,U+7EC3,U+7EC5-7EC7,U+7ECA,U+7ECD-7ECE,U+7ED1-7ED2,U+7ED8,U+7EDA,U+7EDE,U+7EE2-7EE3,U+7EE5-7EE7,U+7EE9-7EEA,U+7EF0,U+7EF3,U+7EF5,U+7EF7-7EF8,U+7EFD,U+7EFF-7F00,U+7F04-7F06,U+7F09,U+7F0E,U+7F13-7F15,U+7F1A,U+7F20,U+7F28,U+7F2E,U+7F34,U+7F38,U+7F3A,U+7F55,U+7F57,U+7F5A,U+7F62,U+7F69-7F6A,U+7F72,U+7F8A,U+7F8C,U+7F8E,U+7F94,U+7F9A,U+7F9E,U+7FA1,U+7FA4,U+7FB9,U+7FBD,U+7FC1,U+7FC5,U+7FCC,U+7FD4,U+7FD8,U+7FDF-7FE0,U+7FF0-7FF1,U+7FFC,U+8000-8001,U+8003,U+800D,U+8010,U+8015,U+8018-8019,U+802A,U+8033,U+8036,U+8038,U+803B,U+803D,U+803F,U+8042,U+804A-804C,U+8058,U+806A,U+8083-8084,U+8086-8087,U+808B-808C,U+8096,U+8098,U+809A-809B,U+809D,U+80A0-80A2,U+80A4-80A5,U+80A9-80AA,U+80AE-80AF,U+80B2,U+80BA,U+80BE-80C1,U+80C3,U+80C6,U+80CE,U+80D6,U+80DA,U+80DC,U+80DE,U+80E1,U+80EF-80F0,U+80F3,U+80F6,U+80F8,U+80FA,U+8102,U+8106,U+8109-810A,U+810F-8111,U+8113,U+8116,U+812F,U+8131,U+8138,U+813E,U+8146,U+814A-814B,U+8150-8151,U+8154-8155,U+8165,U+816E,U+8170,U+8179-817B,U+817E-8180,U+818A,U+818F,U+8198,U+819B-819D,U+81A8,U+81B3,U+81C0,U+81C2-81C3,U+81C6,U+81E3,U+81ED,U+81FB-81FC,U+8200,U+8205-8206,U+820C-820D,U+8212,U+8214,U+821C,U+821E-821F,U+822C,U+8230,U+8235,U+8237,U+8247,U+8270,U+8272-8273,U+827A,U+827E,U+828B,U+828D,U+8292,U+829C-829D,U+82A5-82A6,U+82AC-82AD,U+82AF,U+82B1,U+82B3,U+82B9,U+82BD,U+82C7,U+82CD,U+82CF,U+82D1,U+82D4,U+82D7,U+82DB,U+82DE-82DF,U+82E5-82E6,U+82EB,U+82EF,U+82F9,U+8301-8302,U+8304-8305,U+830E,U+8327-8328,U+832B-832C,U+8335-8336,U+8338-8339,U+8346,U+8349,U+8350,U+8352,U+8354,U+835A,U+8361,U+8363-8364,U+8367,U+836B,U+836F,U+8386,U+8389,U+838E,U+83AB,U+83B1-83B2,U+83B9,U+83BD,U+83C7,U+83CA,U+83CC,U+83CF,U+83E0,U+83E9,U+83F1-83F2,U+8404,U+840C-840E,U+841D,U+8424,U+8427-8428,U+8457,U+845B,U+8461,U+8463,U+846B-846C,U+8471,U+8475,U+8482,U+848B,U+8499,U+849C,U+84B2,U+84B8,U+84C4,U+84C9,U+84D1,U+84D6,U+84DD,U+84DF,U+84EC,U+8511,U+8513,U+8517,U+851A,U+8521,U+852B-852C,U+8537,U+853C-853D,U+8549-854A,U+8574,U+857E,U+8584,U+859B,U+85AA,U+85AF,U+85C9,U+85CF-85D0,U+85D5,U+85E4,U+85E9,U+85FB,U+8611,U+8638,U+864E-8651,U+865A,U+865E,U+866B,U+8671,U+8679,U+867D-867E,U+8680-8682,U+868A,U+868C,U+8695,U+869C,U+86A4,U+86C0,U+86C6-86C7,U+86CA-86CB,U+86D4,U+86D9,U+86DB,U+86E4,U+86EE,U+86F0,U+86F9,U+86FE,U+8700,U+8702,U+8712,U+8715,U+8717-8718,U+871C,U+8721,U+8747,U+8749,U+874E,U+8757,U+8774,U+8776,U+879F,U+87F9,U+8815,U+8822,U+8840,U+8845,U+884D,U+8857,U+8859,U+8861,U+8863,U+8868,U+886B-886C,U+8877,U+8881,U+8884,U+888B,U+888D,U+8892,U+8896,U+889C,U+88AD,U+88B1,U+88C1,U+88D4-88D5,U+88D9,U+88E4,U+88F3-88F4,U+88F8-88F9,U+8902,U+8910,U+8912,U+8925,U+892A,U+8944,U+895F,U+89C5,U+8A00,U+8A79,U+8A89-8A8A,U+8A93,U+8B6C,U+8BA2-8BA3,U+8BA5,U+8BAB,U+8BAD,U+8BAF,U+8BB2-8BB3,U+8BB6,U+8BB8-8BB9,U+8BBC-8BBD,U+8BBF-8BC0,U+8BC5,U+8BC8-8BCA,U+8BCC-8BCD,U+8BD1,U+8BD5,U+8BD7,U+8BDA-8BDB,U+8BDE,U+8BE1-8BE3,U+8BE6-8BE7,U+8BEB-8BED,U+8BF1-8BF2,U+8BF5,U+8BF8,U+8BFD-8BFE,U+8C05-8C06,U+8C08,U+8C0A-8C0B,U+8C0D-8C0E,U+8C10,U+8C13,U+8C17,U+8C1A,U+8C1C,U+8C22-8C24,U+8C26,U+8C28-8C29,U+8C2C-8C2D,U+8C30-8C31,U+8C34,U+8C37,U+8C41,U+8C46,U+8C4C,U+8C62,U+8C6A-8C6B,U+8C79-8C7A,U+8C89,U+8C8C,U+8D1D-8D1F,U+8D21-8D22,U+8D24,U+8D26-8D27,U+8D29-8D2C,U+8D2E-8D31,U+8D35,U+8D37-8D3A,U+8D3C,U+8D3E-8D3F,U+8D41-8D43,U+8D4A-8D4C,U+8D4E-8D50,U+8D54,U+8D58,U+8D5A-8D5B,U+8D5E,U+8D60-8D61,U+8D63-8D64,U+8D66,U+8D6B,U+8D74-8D76,U+8D81,U+8D9F,U+8DA3,U+8DB4,U+8DBE,U+8DC3,U+8DCB-8DCC,U+8DEA,U+8DF3,U+8DF5,U+8DFA,U+8E0A,U+8E0C,U+8E0F,U+8E1E,U+8E22,U+8E29,U+8E44,U+8E48,U+8E4B,U+8E66,U+8E6C-8E6D,U+8E72,U+8E7F,U+8E81,U+8E87,U+8EAC,U+8EAF,U+8EB2,U+8EBA,U+8F66-8F67,U+8F69,U+8F6E-8F70,U+8F74,U+8F7F,U+8F83,U+8F86,U+8F88-8F8A,U+8F90,U+8F95-8F97,U+8F99,U+8F9B-8F9C,U+8F9E-8F9F,U+8FA3,U+8FA9,U+8FAB,U+8FB0-8FB1,U+8FBD,U+8FC1-8FC2,U+8FC4,U+8FC8,U+8FDD,U+8FDF,U+8FE2,U+8FEA,U+8FF0,U+8FF7-8FF8,U+9000-9001,U+9003,U+9006,U+9009-900A,U+900F,U+9012,U+9017,U+901B,U+901D-901E,U+9020,U+9022,U+902E,U+9038,U+903C,U+903E,U+9041-9042,U+904D,U+904F,U+9057,U+9063,U+9065,U+906D,U+9075,U+9080,U+9091,U+9093,U+90A2-90A3,U+90A6,U+90AA,U+90AF,U+90B1,U+90B5,U+90B9,U+90BB,U+90C1,U+90CA,U+90CE,U+90D1,U+90DD,U+90E1,U+90E7,U+90ED,U+90F4,U+90F8,U+9102,U+9119,U+9149,U+914B-914C,U+9152,U+9157,U+915A,U+915D-915E,U+9163,U+9165,U+916A,U+916C,U+916E,U+9171,U+9175-9178,U+917F,U+9187,U+9189,U+918B,U+919A-919B,U+91C9,U+91DC,U+9274,U+948E,U+9492-9493,U+9499,U+949D-949E,U+94A0-94A2,U+94A5-94A9,U+94AE,U+94B1,U+94B3,U+94B5,U+94BB,U+94BE,U+94C0-94C3,U+94C5-94C6,U+94DC,U+94E1,U+94E3,U+94EC-94ED,U+94F0-94F2,U+94F6,U+94F8,U+94FA,U+9500,U+9504,U+9508,U+950B-950C,U+9510-9511,U+9517,U+951A,U+9521,U+9523-9526,U+9528,U+952D-9530,U+9539,U+953B,U+9540-9541,U+9547,U+954A,U+954D,U+9550-9551,U+955C,U+9563,U+956D,U+9570,U+9576,U+95E8,U+95EA,U+95EF-95F0,U+95F2,U+95F7-95FB,U+95FD,U+9600-9602,U+9605,U+9609,U+960E,U+9610-9611,U+961C,U+962E,U+9634,U+9636,U+963B,U+963F,U+9645-9648,U+964B-964C,U+9655,U+965B,U+9661-9662,U+9668,U+966A,U+9675-9677,U+9685-9686,U+968B,U+9690,U+9694,U+9698-9699,U+96B6,U+96C0-96C1,U+96C4-96C5,U+96C7,U+96CC-96CD,U+96CF,U+96D5,U+96EA,U+96F9,U+9704,U+9707,U+9709,U+970D,U+9713,U+9716,U+971C,U+971E,U+9738-9739,U+9752,U+9756,U+975B,U+9761,U+9769,U+9773-9774,U+9776,U+978B,U+978D,U+9798,U+97A0,U+97AD,U+97E6-97E7,U+97E9,U+97ED,U+97F3,U+97F5-97F6,U+9877,U+987A-987B,U+987D-987F,U+9881-9882,U+9885,U+9887-9888,U+988A,U+9890,U+9893,U+9896-9897,U+989C-989D,U+98A0,U+98A4,U+98A7,U+98D8,U+98DF,U+9910,U+9965,U+996D-9972,U+9975-9976,U+997A,U+997C,U+997F,U+9981,U+9985-9986,U+9988,U+998B,U+998F,U+9992,U+9999,U+9A6C-9A71,U+9A73-9A74,U+9A79,U+9A7B-9A7C,U+9A82,U+9A84,U+9A86-9A87,U+9A8B,U+9A8F,U+9A91,U+9A97,U+9A9A,U+9AA1,U+9AA4,U+9AA8,U+9AB8,U+9AD3,U+9B03,U+9B3C,U+9B41-9B42,U+9B44,U+9B4F,U+9B54,U+9C7C,U+9C81,U+9C8D,U+9C9C,U+9CA4,U+9CB8,U+9CC3,U+9CD6,U+9CDE,U+9E1F,U+9E21,U+9E23,U+9E25-9E26,U+9E2D,U+9E2F,U+9E33,U+9E35,U+9E3D,U+9E3F,U+9E43,U+9E45,U+9E4A,U+9E4F,U+9E64,U+9E70,U+9E7F,U+9E93,U+9EA6,U+9EBB,U+9EC4,U+9ECD-9ECE,U+9ED1,U+9ED4,U+9F0E,U+9F13,U+9F20,U+9F3B,U+9F50,U+9F7F,U+9F84,U+9F8B,U+9F99-9F9A,U+9F9F;
}


:root {

  --navy-950: #04122b;
  --navy-900: #061a3a;
  --navy-800: #0a2450;
  --navy-700: #0e3168;
  --blue-700: #1257b8;
  --blue-600: #1667d6;
  --blue-500: #2180f3;
  --blue-300: #7fb2f7;
  --blue-100: #e4eefc;
  --cyan-500: #1fb6dd;
  --cyan-400: #35c2e8;

  --ink-900: #0b1b33;
  --ink-700: #2a3b55;
  --ink-500: #5a6b85;
  --ink-400: #7c8ba3;
  --line: #dce6f5;
  --line-soft: #eaf1fb;
  --bg: #ffffff;
  --bg-soft: #f3f7fd;
  --bg-soft-2: #eaf2fd;

  --wrap: 1300px;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 24px;
  --shadow-sm: 0 2px 10px rgba(11, 27, 51, .06);
  --shadow: 0 12px 34px rgba(11, 40, 90, .10);
  --shadow-lg: 0 26px 60px rgba(9, 36, 84, .16);
  --header-h: 72px;
  --ease: cubic-bezier(.22, .61, .36, 1);

  --fs-xs: 12px;
  --fs-sm: 13.5px;
  --fs-base: 15px;
  --fs-md: 16.5px;
  --fs-lg: 18px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 16px);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC",
    "HarmonyOS Sans SC", "Microsoft YaHei", "Hiragino Sans GB",
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: var(--fs-md);
  line-height: 1.75;
  text-wrap: pretty;
  color: var(--ink-700);
  background: var(--bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  color: var(--ink-900);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -.01em;
}

p, li, dd, blockquote, .note { text-align: justify; }
p { margin: 0; }
a { color: var(--blue-600); text-decoration: none; transition: color .2s var(--ease); }
a:hover { color: var(--blue-500); }
img { max-width: 100%; display: block; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; }
table { border-collapse: collapse; width: 100%; }

::selection { background: var(--blue-500); color: #fff; }

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

.section { padding: 88px 0; position: relative; }
.section-sm { padding: 60px 0; }
.section-soft { background: var(--bg-soft); }
.section-soft-line { background: var(--bg-soft); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }

.section-dark {
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(33, 128, 243, .30), transparent 62%),
    radial-gradient(760px 420px at 88% 100%, rgba(31, 182, 221, .20), transparent 60%),
    linear-gradient(160deg, var(--navy-950) 0%, var(--navy-800) 58%, var(--navy-900) 100%);
  color: rgba(255, 255, 255, .80);
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: #fff; }

.grid { display: grid; gap: 24px; }
.g-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.g-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.g-2-1 { grid-template-columns: 1.15fr .85fr; }
.g-1-2 { grid-template-columns: .85fr 1.15fr; }

.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }

.split--stretch { align-items: stretch; }
.ph--fill { aspect-ratio: auto; height: 100%; min-height: 320px; }

.sec-head { margin-bottom: 48px; }
.sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }

.kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-sm); font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--blue-600);
  margin-bottom: 16px;
}
.kicker::before {
  content: ""; width: 22px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--blue-500), var(--cyan-400));
}
.sec-head.center .kicker { justify-content: center; }
.section-dark .kicker { color: var(--cyan-400); }

.sec-title { font-size: clamp(26px, 3.3vw, 40px); }
.sec-lead { margin-top: 18px; font-size: var(--fs-md); color: var(--ink-500); }
.section-dark .sec-lead { color: rgba(255, 255, 255, .68); }

.rule {
  width: 56px; height: 3px; border-radius: 3px; margin: 22px 0;
  background: linear-gradient(90deg, var(--blue-500), var(--cyan-400));
}
.sec-head.center .rule { margin-left: auto; margin-right: auto; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  height: 50px; padding: 0 28px;
  border: 1px solid transparent; border-radius: 999px;
  font-size: var(--fs-base); font-weight: 600; letter-spacing: .01em;
  cursor: pointer; white-space: nowrap;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);
}
.btn-primary {
  background: linear-gradient(135deg, var(--blue-500), var(--blue-700));
  color: #fff;
  box-shadow: 0 12px 26px rgba(22, 103, 214, .32);
}
.btn-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(22, 103, 214, .40); }
.btn-ghost {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
}
.btn-ghost:hover { color: #fff; background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .55); transform: translateY(-2px); }
.btn-outline {
  background: #fff; border-color: var(--line); color: var(--ink-900);
}
.btn-outline:hover { color: var(--blue-600); border-color: var(--blue-300); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.btn-sm { height: 42px; padding: 0 20px; font-size: var(--fs-sm); }
.btn-row { display: flex; flex-wrap: wrap; gap: 14px; }

.link-arrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--fs-base); font-weight: 600; color: var(--blue-600);
  padding-block: 10px;
  margin-block: -10px;
}
.link-arrow::after { content: "→"; transition: transform .22s var(--ease); }
.link-arrow:hover::after { transform: translateX(4px); }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: var(--header-h);
  display: flex; align-items: center;
  background: rgba(6, 26, 58, .72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, .10);
  transition: background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.site-header.is-solid {
  background: rgba(255, 255, 255, .94);
  border-bottom-color: var(--line-soft);
  box-shadow: 0 6px 24px rgba(11, 40, 90, .07);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; }

.logo { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; color: #fff; }
.logo-mark { display: block; height: 46px; width: auto; max-width: 200px; flex: 0 0 auto; }

.logo-text { display: flex; flex-direction: column; line-height: 1.2; white-space: nowrap; }
.logo-cn { font-size: var(--fs-lg); font-weight: 700; letter-spacing: .01em; color: #fff; }

.logo-en { font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .58); }

.logo--img-only .logo-text { display: none; }

.site-header:not(.is-solid) .logo-mark,
.site-footer .logo-mark { filter: brightness(0) invert(1); }

@media (max-width: 1080px) {
  .logo-cn { font-size: var(--fs-md); }
}

@media (max-width: 900px) {
  .logo-mark { height: 40px; }
}

@media (max-width: 640px) {
  .logo { gap: 9px; }
  .logo-mark { height: 34px; }
  .logo-cn { font-size: var(--fs-base); letter-spacing: 0; }
  .logo-en { font-size: 8px; letter-spacing: .12em; }
}
.site-header.is-solid .logo-cn { color: var(--ink-900); }
.site-header.is-solid .logo-en { color: var(--ink-400); }

.nav { display: flex; align-items: center; gap: 4px; }
.nav a {
  position: relative; padding: 9px 15px; border-radius: 9px;
  font-size: var(--fs-base); font-weight: 500; color: rgba(255, 255, 255, .84);
  transition: color .2s, background .2s;
}
.nav a::after {
  content: ""; position: absolute; left: 50%; bottom: 3px;
  width: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--blue-500), var(--cyan-400));
  transform: translateX(-50%); transition: width .26s var(--ease);
}
.nav a:hover { color: #fff; }
.nav a:hover::after, .nav a.active::after { width: 20px; }
.nav a.active { color: #fff; font-weight: 600; }
.site-header.is-solid .nav a { color: var(--ink-700); }
.site-header.is-solid .nav a:hover, .site-header.is-solid .nav a.active { color: var(--blue-600); }

.nav-item { position: relative; }
.nav-item.has-drop::after {          
  content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px;
}
.nav-drop {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(-10px);
  margin-top: 8px;
  display: flex; align-items: center; gap: 6px;
  padding: 18px 24px;

  background: #eef4fd; border: 1px solid #d7e5fa; border-radius: 16px;
  box-shadow: 0 18px 42px rgba(11, 40, 90, .16);
  white-space: nowrap; z-index: 5;
  opacity: 0; visibility: hidden; pointer-events: none;

  transition:
    opacity .30s cubic-bezier(.22, .61, .36, 1),
    transform .30s cubic-bezier(.22, .61, .36, 1),
    visibility 0s linear .30s;
  will-change: opacity, transform;
}

.nav-item.has-drop:hover .nav-drop,
.nav-item.has-drop:focus-within .nav-drop,
.nav-item.is-drop-open .nav-drop {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);

  transition:
    opacity .22s cubic-bezier(.22, .61, .36, 1),
    transform .22s cubic-bezier(.22, .61, .36, 1),
    visibility 0s;
}
.nav-drop::before {                  
  content: ""; position: absolute; top: -6px; left: 50%; width: 12px; height: 12px;
  margin-left: -6px; background: #eef4fd;
  border-left: 1px solid #d7e5fa; border-top: 1px solid #d7e5fa;
  border-top-left-radius: 3px; transform: rotate(45deg);
}
.nav-drop a {
  padding: 9px 12px; border-radius: 999px;
  font-size: var(--fs-base); font-weight: 500;

  background: #fff; border: 1px solid var(--line-soft); white-space: nowrap;
  transition: color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
}
.nav-drop a::after { display: none; }          

.site-header .nav .nav-drop a { color: var(--ink-700); }
.site-header .nav .nav-drop a:hover { color: var(--blue-700); background: var(--blue-100); border-color: var(--blue-300); }
.site-header .nav .nav-drop a.active { color: #fff; background: linear-gradient(135deg, var(--blue-500), var(--blue-700)); border-color: transparent; }

@media (max-width: 900px) {

  .nav-item { width: 100%; }
  .nav-item.has-drop::after { display: none; }
  .nav-drop {
    position: static; transform: none; margin: 0; padding: 0 0 8px 16px;
    display: block; background: transparent; border: 0; box-shadow: none;
    white-space: normal; opacity: 1; visibility: visible; pointer-events: auto;
  }
  /* ⚠️ 展开态的居中变换必须一起重置（2026-09-24 修）。
     桌面那三条展开态选择器特异性(0,4,0)，高于上面这条 `.nav-drop`(0,1,0)：
     手机菜单里 main.js 会给每个 .has-drop 加上 `.is-drop-open`，
     于是 translateX(-50%) 又被加回来 —— 子项被推到屏幕左边外面（实测 x = -139，
     与顶层的 x = 20 完全错位）。下面用同特异性选择器 + 更靠后的位置压住它。 */
  .nav-item.has-drop:hover .nav-drop,
  .nav-item.has-drop:focus-within .nav-drop,
  .nav-item.is-drop-open .nav-drop { transform: none; }
  .nav-drop::before { display: none; }
  .nav-drop a { display: block; padding: 10px 12px; border: 0; border-radius: 8px; font-size: var(--fs-base); background: transparent; }

  .nav .nav-drop a { color: rgba(255, 255, 255, .62) !important; }
  .nav .nav-drop a:hover { color: #fff !important; background: rgba(255, 255, 255, .08); }
  .nav .nav-drop a.active { color: var(--cyan-400) !important; background: rgba(255, 255, 255, .08); }
}

.header-cta { display: flex; align-items: center; gap: 16px; }
.header-tel { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-sm); font-weight: 600; color: rgba(255, 255, 255, .86); }
.header-tel svg { opacity: .8; }
.site-header.is-solid .header-tel { color: var(--ink-700); }
.site-header.is-solid .header-tel:hover { color: var(--blue-600); }

.nav-toggle {
  display: none; width: 42px; height: 42px; padding: 0;
  /* ⚠️ 必须显式写 column（2026-09-24 修）：span + span 用的是 margin-top、
     展开态用 ±7px 位移对齐（等于横条间距 2+5），都是纵向堆叠才成立的写法。
     少这一句时默认 row —— 三横并排成三条短横，还被 flex-shrink 从 18px
     压到 13.3px 宽，第 2、3 条因 margin-top 下沉 2.5px（"不在一条线上"）。
     该按钮只在 ≤900px 显示，桌面端看不到，所以一直没被发现。 */
  flex-direction: column;
  align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .10); border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 11px; cursor: pointer;
}
.nav-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px; background: #fff; transition: .25s var(--ease); }
.nav-toggle span + span { margin-top: 5px; }
.site-header.is-solid .nav-toggle { background: var(--bg-soft); border-color: var(--line); }
.site-header.is-solid .nav-toggle span { background: var(--ink-900); }
body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero {
  position: relative;
  display: flex; align-items: center;
  min-height: 94vh;
  padding: calc(var(--header-h) + 104px) 0 96px;
  background: var(--navy-950);
  color: rgba(255, 255, 255, .78);
  overflow: hidden;
}

.hero .hero-stage {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(160deg, var(--navy-900), var(--navy-800));
}
.hero-stage > img {
  position: absolute; inset: 0; z-index: 2;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 45%;
}
.hero-stage .ph-tag {
  position: absolute; left: 50%; top: 50%; z-index: 1;
  transform: translate(-50%, -50%); width: 100%;
}
.hero-mask {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background:
    linear-gradient(96deg, rgba(4, 18, 43, .95) 0%, rgba(5, 22, 48, .88) 34%, rgba(6, 26, 58, .56) 68%, rgba(6, 26, 58, .34) 100%),
    linear-gradient(180deg, rgba(4, 18, 43, .78) 0%, rgba(4, 18, 43, .04) 26%, rgba(4, 18, 43, .52) 76%, rgba(4, 18, 43, .96) 100%),
    radial-gradient(900px 540px at 9% 24%, rgba(33, 128, 243, .36), transparent 62%);
}
.hero-mask::after {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(70% 62% at 32% 42%, #000, transparent 78%);
  -webkit-mask-image: radial-gradient(70% 62% at 32% 42%, #000, transparent 78%);
}
.hero-inner {
  position: relative; z-index: 2; width: 100%;
  max-width: var(--wrap); margin: 0 auto; padding: 0 24px;
}
.hero-copy { max-width: 780px; }

.hero-badge {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 7px 16px; border-radius: 999px;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
  font-size: var(--fs-sm); letter-spacing: .05em; color: rgba(255, 255, 255, .86);
}
.hero-badge .dot {
  width: 7px; height: 7px; border-radius: 50%; background: var(--cyan-400);
  box-shadow: 0 0 0 4px rgba(53, 194, 232, .22);
}

.hero h1 {
  margin: 26px 0 0;
  font-size: clamp(34px, 5.4vw, 72px);
  line-height: 1.16; letter-spacing: -.015em; color: #fff;
}
.hero h1 .grad {
  background: linear-gradient(96deg, #8fc0ff 0%, var(--cyan-400) 55%, #8ff0ff 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-lead {
  margin-top: 26px;
  max-width: 780px;
  font-size: clamp(17px, 1.45vw, 20px); line-height: 1.9; color: rgba(255, 255, 255, .72);
}
.hero .btn-row { margin-top: 38px; }

.hero-kpis {
  margin-top: 66px; padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px;
  max-width: 980px;
}
.kpi-num {
  font-size: clamp(24px, 2.6vw, 34px); font-weight: 700; color: #fff;
  letter-spacing: -.02em; line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.kpi-num .unit { font-size: .55em; font-weight: 600; margin-left: 3px; color: var(--blue-300); }
.kpi-label { margin-top: 8px; font-size: var(--fs-sm); color: rgba(255, 255, 255, .58); }

.hero-visual { position: relative; }
.hero-visual .ph { border-radius: var(--radius-lg); }

.page-hero {
  position: relative;
  padding: calc(var(--header-h) + 74px) 0 74px;
  background:
    radial-gradient(900px 480px at 15% -20%, rgba(33, 128, 243, .32), transparent 62%),
    linear-gradient(160deg, var(--navy-950), var(--navy-800) 70%, #071d42);
  color: rgba(255, 255, 255, .76);
  overflow: hidden;
}
.page-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(75% 70% at 40% 20%, #000, transparent 80%);
  -webkit-mask-image: radial-gradient(75% 70% at 40% 20%, #000, transparent 80%);
}
.page-hero .wrap { position: relative; z-index: 2; }
.page-hero h1 { font-size: clamp(28px, 4vw, 46px); color: #fff; }
.page-hero p { margin-top: 18px; font-size: var(--fs-md); line-height: 1.9; color: rgba(255, 255, 255, .70); }

.page-hero--split .wrap {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .29fr);
  gap: 56px; align-items: center;
}

.page-hero--split .ph {
  background-color: rgba(255, 255, 255, .05);
  background-image: repeating-linear-gradient(45deg, rgba(143, 192, 255, .09) 0 8px, rgba(143, 192, 255, .02) 8px 16px);
  border-color: rgba(143, 192, 255, .34);
}
.page-hero--split .ph-tag { color: rgba(190, 216, 255, .82); }
.page-hero--split .ph-tag small { color: rgba(160, 190, 235, .62); }

.crumb { display: flex; align-items: center; gap: 9px; margin-bottom: 20px; font-size: var(--fs-sm); color: rgba(255, 255, 255, .52); }
.crumb a { color: rgba(255, 255, 255, .68); }
.crumb a:hover { color: #fff; }
.crumb span.sep { opacity: .45; }
.crumb .cur { color: var(--cyan-400); }

.ph {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  width: 100%;
  background-color: #eef4fd;
  background-image: repeating-linear-gradient(45deg, rgba(22, 103, 214, .055) 0 8px, rgba(22, 103, 214, .015) 8px 16px);
  border: 1px dashed #a8c5ea;
  border-radius: 14px;
  min-height: 120px;
}
.ph-tag {
  display: block; padding: 0 16px; text-align: center; word-break: break-all;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", "Source Han Sans SC", monospace;
  font-size: var(--fs-xs); line-height: 1.7; color: #4f78ab; letter-spacing: .01em;
}
.ph-tag small { display: block; margin-top: 6px; font-size: var(--fs-xs); color: #7d9dc4; font-family: inherit; letter-spacing: .02em; }
.ph img {
  position: absolute; inset: 0; z-index: 2;
  width: 100%; height: 100%; object-fit: cover;
}
.section-dark .ph, .hero .ph, .page-hero .ph {
  background-color: rgba(255, 255, 255, .05);
  background-image: repeating-linear-gradient(45deg, rgba(143, 192, 255, .09) 0 8px, rgba(143, 192, 255, .02) 8px 16px);
  border-color: rgba(143, 192, 255, .34);
}
.section-dark .ph-tag, .hero .ph-tag, .page-hero .ph-tag { color: rgba(190, 216, 255, .82); }
.section-dark .ph-tag small, .hero .ph-tag small, .page-hero .ph-tag small { color: rgba(160, 190, 235, .62); }

.r-16-9 { aspect-ratio: 16 / 9; }
.r-4-3 { aspect-ratio: 4 / 3; }
.r-1-1 { aspect-ratio: 1 / 1; }
.r-3-4 { aspect-ratio: 3 / 4; }
.r-21-9 { aspect-ratio: 21 / 9; }
.r-hero { aspect-ratio: 10 / 8.4; }
.r-tall { aspect-ratio: 3 / 4.4; }

.r-a4 { aspect-ratio: 1 / 1.4142; }

.card {
  position: relative;
  padding: 30px 20px;
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
  height: 100%;
}
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: var(--blue-100); }
.card-top-line { position: absolute; top: 0; left: 20px; right: 20px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, var(--blue-500), var(--cyan-400)); opacity: 0; transition: opacity .28s var(--ease); }
.card:hover .card-top-line { opacity: 1; }
.card h3 { font-size: var(--fs-lg); }
.card p { margin-top: 12px; font-size: var(--fs-base); color: var(--ink-500); }
.card-h-title { display: flex; align-items: center; gap: 12px; }
.card-num {
  margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-sm); font-weight: 700;
  letter-spacing: .08em;
  color: var(--blue-500);
}
.card-num::before {
  content: ""; flex: none;
  width: 3px; height: 14px; border-radius: 2px;
  background: linear-gradient(180deg, var(--blue-500), var(--cyan-400));
}

a.card-link { display: block; text-decoration: none; color: inherit; }
a.card-link:hover { color: inherit; }
a.card-link .card-more {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 20px; font-size: var(--fs-sm); font-weight: 600; color: var(--blue-600);
  transition: color .22s var(--ease), transform .22s var(--ease);
}
a.card-link:hover .card-more { color: var(--blue-500); transform: translateX(3px); }

.section-dark .card {
  background: rgba(255, 255, 255, .045);
  border-color: rgba(255, 255, 255, .10);
  box-shadow: none;
  backdrop-filter: blur(6px);
}
.section-dark .card:hover { background: rgba(255, 255, 255, .075); border-color: rgba(143, 192, 255, .32); box-shadow: 0 18px 40px rgba(0, 0, 0, .22); }
.section-dark .card p { color: rgba(255, 255, 255, .66); }

.ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; flex: 0 0 46px;
  border-radius: 13px;
  background: linear-gradient(140deg, rgba(33, 128, 243, .12), rgba(31, 182, 221, .10));
  border: 1px solid rgba(33, 128, 243, .16);
  color: var(--blue-600);
}
.ico svg { width: 22px; height: 22px; }
.section-dark .ico {
  background: linear-gradient(140deg, rgba(143, 192, 255, .16), rgba(53, 194, 232, .12));
  border-color: rgba(143, 192, 255, .24); color: var(--blue-300);
}

.tick-list { display: grid; gap: 14px; }
.tick-list li { display: flex; gap: 12px; align-items: flex-start; font-size: var(--fs-base); }
.tick-list li::before {
  content: ""; flex: 0 0 7px; width: 7px; height: 7px; margin-top: 9px; border-radius: 2px;
  background: linear-gradient(135deg, var(--blue-500), var(--cyan-400));
  transform: rotate(45deg);
}
.section-dark .tick-list li { color: rgba(255, 255, 255, .74); }

.scene-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 12px; }
.scene {
  display: flex; align-items: center; gap: 10px;
  padding: 13px 16px; border-radius: 11px;
  background: #fff; border: 1px solid var(--line-soft);
  font-size: var(--fs-base); font-weight: 500; color: var(--ink-700);
  transition: .24s var(--ease);
}
.scene:hover { border-color: var(--blue-300); background: var(--blue-100); color: var(--blue-700); transform: translateY(-2px); }
.scene .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan-400); flex: 0 0 6px; }
.section-dark .scene { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .80); }
.section-dark .scene:hover { background: rgba(143, 192, 255, .14); border-color: rgba(143, 192, 255, .34); color: #fff; }

.stat-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line-soft); border: 1px solid var(--line-soft); border-radius: var(--radius); overflow: hidden; }
.stat-strip > div { background: #fff; padding: 26px 22px; text-align: center; }
.stat-strip .n { font-size: 30px; font-weight: 700; color: var(--blue-600); letter-spacing: -.02em; }
.stat-strip .l { margin-top: 6px; font-size: var(--fs-sm); color: var(--ink-500); }

.prod-block { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.prod-block.rev .prod-media { order: 2; }
.prod-block + .prod-block { margin-top: 96px; padding-top: 96px; border-top: 1px solid var(--line-soft); }
.prod-tag {
  display: inline-block; padding: 5px 13px; border-radius: 8px; margin-bottom: 16px;
  font-size: var(--fs-xs); font-weight: 600; letter-spacing: .06em;
  background: var(--blue-100); color: var(--blue-700);
}
.prod-block h3 { font-size: clamp(22px, 2.4vw, 28px); }
.prod-block .sub { margin-top: 12px; font-size: var(--fs-md); font-weight: 600; color: var(--blue-600); }
.prod-block p.desc { margin-top: 16px; font-size: var(--fs-base); color: var(--ink-500); }

.spec-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)); gap: 22px; }
@media (max-width: 1024px) {

  .spec-groups { grid-template-columns: 1fr; }
}
.spec-group {
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-sm);
}
.spec-group > h4 {
  padding: 16px 22px; font-size: var(--fs-base);
  background: linear-gradient(120deg, var(--navy-800), var(--blue-700));
  color: #fff;
}
.spec-group dl { margin: 0; }

.spec-row { display: grid; grid-template-columns: 30% 70%; gap: 12px; padding: 11px 22px; font-size: var(--fs-sm); border-top: 1px solid var(--line-soft); }
.spec-row:first-child { border-top: none; }
.spec-row:nth-child(even) { background: #fafcff; }
.spec-row dt { margin: 0; color: var(--ink-500); }
.spec-row dd { margin: 0; color: var(--ink-900); font-weight: 400; }

.product-compact .page-hero { padding: calc(var(--header-h) + 44px) 0 44px; }
.product-compact .page-hero p { margin-top: 14px; }
.product-compact .section { padding: 40px 0 64px; }
.product-compact .spec-groups { gap: 16px; }
.product-compact .spec-row { padding: 9px 22px; }
.product-compact .spec-group > h4 { padding: 13px 22px; font-size: var(--fs-base); }

.table-wrap { overflow-x: auto; border: 1px solid var(--line-soft); border-radius: var(--radius); background: #fff; }
.spec-table { min-width: 640px; font-size: var(--fs-base); }
.spec-table th, .spec-table td { padding: 13px 20px; text-align: left; border-bottom: 1px solid var(--line-soft); }
.spec-table thead th { background: linear-gradient(120deg, var(--navy-800), var(--blue-700)); color: #fff; font-weight: 600; font-size: var(--fs-sm); letter-spacing: .03em; }
.spec-table tbody tr:nth-child(even) { background: #fafcff; }
.spec-table tbody tr:hover { background: var(--blue-100); }
.spec-table td:first-child { color: var(--ink-500); white-space: nowrap; }
.spec-table td:last-child { color: var(--ink-900); }
.spec-table tr:last-child td { border-bottom: none; }

.spec-table tbody tr[hidden] { display: none; }

.spec-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.spec-split-side { display: grid; gap: 26px; align-content: start; }
.spec-split h4 { margin-bottom: 12px; font-size: var(--fs-base); color: var(--ink-500); }
.spec-split .spec-table { min-width: 0; }
.spec-split .spec-table th, .spec-split .spec-table td { padding: 9px 18px; }

.flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; position: relative; }
.flow-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1200px) {
  .flow-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.flow-step { text-align: left; padding-top: 22px; border-top: 2px solid var(--line); position: relative; }
.flow-step::before {
  content: ""; position: absolute; top: -5px; left: 0; width: 8px; height: 8px; border-radius: 50%;
  background: var(--blue-500); box-shadow: 0 0 0 4px rgba(33, 128, 243, .16);
}
.flow-step h4 { font-size: var(--fs-md); }
.flow-step p { margin-top: 9px; font-size: var(--fs-base); color: var(--ink-500); }

.field-card { display: flex; flex-direction: column; }
.field-card > :last-child { margin-top: auto; padding-top: 24px; }
.section-dark .flow-step { border-top-color: rgba(255, 255, 255, .16); }
.section-dark .flow-step p { color: rgba(255, 255, 255, .62); }
.section-dark .flow-step h4 { color: #fff; }

.cert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px; }
.cert {
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius);
  padding: 16px; box-shadow: var(--shadow-sm); transition: .26s var(--ease);
  display: flex; flex-direction: column; gap: 14px;
}
.cert:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.cert .ph { border-radius: 10px; }
.cert-name { font-size: var(--fs-base); font-weight: 600; color: var(--ink-900); line-height: 1.5; }
.cert-desc { font-size: var(--fs-sm); color: var(--ink-400); margin-top: 4px; }
.cert-body { padding: 2px 4px 6px; }

.contact-block { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.info-list { display: grid; gap: 26px; }
.info-item { display: flex; gap: 18px; }
.info-item .ico { width: 50px; height: 50px; flex: 0 0 50px; border-radius: 14px; }
.info-item h4 { font-size: var(--fs-base); color: var(--ink-900); }
.info-item p, .info-item a { margin-top: 6px; font-size: var(--fs-base); color: var(--ink-500); line-height: 1.8; word-break: break-word; }
.info-item a { display: block; }
.info-item a:hover { color: var(--blue-600); }
.section-dark .info-item h4 { color: #fff; }
.section-dark .info-item p, .section-dark .info-item a { color: rgba(255, 255, 255, .68); }
.section-dark .info-item a:hover { color: var(--cyan-400); }

.info-row {
  display: grid;

  grid-template-columns: minmax(0, 300px) auto;
  gap: 22px;                 
  align-items: center;       
  justify-content: start;    
}
.info-row-text { display: grid; gap: 26px; }   

.qr-box {
  position: relative;
  width: 150px; height: 150px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-soft);
  border: 1px solid var(--line);
}
.qr-box img {
  width: 100%; height: 100%;
  object-fit: contain;      
  display: block;
  background: #fff;
}
.qr-box .qr-empty { display: none; }

.qr-box.is-empty {
  border-style: dashed;
  background: var(--bg-soft-2);
}
.qr-box.is-empty img { display: none; }
.qr-box.is-empty .qr-empty {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-size: var(--fs-xs); line-height: 1.6; color: var(--ink-400);
  padding: 0 10px;
}

@media (max-width: 640px) {
  .info-row { grid-template-columns: 1fr; gap: 26px; }
}

.cta-band {
  position: relative; overflow: hidden;
  border-radius: var(--radius-lg);
  padding: 56px 60px;
  background:
    radial-gradient(700px 340px at 88% 10%, rgba(31, 182, 221, .30), transparent 60%),
    linear-gradient(125deg, var(--navy-900), var(--blue-700));
  color: rgba(255, 255, 255, .78);
  display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.cta-band h2 { font-size: clamp(22px, 2.6vw, 32px); color: #fff; }
.cta-band p { margin-top: 12px; font-size: var(--fs-base); max-width: 620px; color: rgba(255, 255, 255, .70); }

.quote {
  border-left: 3px solid var(--blue-500);
  padding: 6px 0 6px 26px;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.75; font-weight: 600; color: var(--ink-900);
}
.section-dark .quote { color: #fff; border-left-color: var(--cyan-400); }

.poem { display: grid; gap: 10px; font-size: var(--fs-md); line-height: 1.95; }
.poem span { display: block; }
.poem .hl { color: var(--cyan-400); font-weight: 600; }

.prose { display: grid; gap: 18px; font-size: var(--fs-base); color: var(--ink-500); }
.prose strong { color: var(--ink-900); font-weight: 600; }
.section-dark .prose { color: rgba(255, 255, 255, .70); }
.section-dark .prose strong { color: #fff; }

.site-footer {

  background: var(--bg);
  color: var(--ink-500);
  padding: 0;
  font-size: var(--fs-sm);
}

body.page-end-soft .site-footer {
  background: var(--bg-soft);
}
body.page-end-soft .footer-bottom {

  border-top-color: var(--line-soft);
}

body.page-end-dark .site-footer {
  background: var(--navy-950);
  color: rgba(255, 255, 255, .58);
}
body.page-end-dark .footer-bottom {
  border-top: 0;                     
  color: rgba(255, 255, 255, .42);
}
body.page-end-dark .footer-bottom a[data-icp]:hover,
body.page-end-dark .footer-bottom a[data-mps]:hover {
  color: rgba(255, 255, 255, .82);
}

.footer-bottom {
  border-top: 1px solid var(--line);
  padding: 22px 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: var(--fs-sm); color: var(--ink-500);
}

.footer-bottom a[data-icp],
.footer-bottom a[data-mps] {
  color: inherit;
  text-decoration: none;
  transition: color .2s var(--ease), opacity .2s var(--ease);
  padding-block: 7px;
  margin-block: -7px;
}
.footer-bottom a[data-icp]:hover,
.footer-bottom a[data-mps]:hover {
  color: var(--ink-700);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.page-home .footer-bottom a[data-icp]:hover,
body.page-home .footer-bottom a[data-mps]:hover {
  color: rgba(255, 255, 255, .82);
}

.footer-bottom a[data-mps] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.footer-bottom a[data-mps] .mps-ico {
  height: 17px;
  width: auto;                 
  flex: none;
  object-fit: contain;

}

.footer-bottom a[data-mps][data-mps-pending] [data-mps-num] {
  opacity: .62;
  text-decoration: underline dashed;
  text-underline-offset: 3px;
}

body.page-home .site-footer {
  background: var(--navy-950);
  color: rgba(255, 255, 255, .58);
}
body.page-home .footer-bottom {

  border-top: 0;
  color: rgba(255, 255, 255, .42);
}

@media (min-width: 1081px) {
  body.page-home .hero {

    flex: 1 0 auto;
    min-height: 0;
  }
}

html, body { height: 100%; }
body { min-height: 100%; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; }
body > .site-footer { flex: none; }
@supports (min-height: 100dvh) {
  body { min-height: 100dvh; }
}

/* 首页 main 给深色底（2026-09-24 修手机端白带）。
   >1080px 时 hero 撑满 main（见下方 @media(min-width:1081px) 那条），这行看不出效果；
   ≤1080px 时 hero 按内容高（有意为之，见 check.py 的 [首页首屏] 断言），
   而 main 仍被 `flex: 1 0 auto` 拉伸 —— 这段若走 body 的白底，
   就会在深色首屏（--navy-950）与深色页脚（--navy-950）之间露出一条白带。
   桌面端因为 hero 撑满而掩盖了这个缺陷，只有手机端会暴露出来。 */
body.page-home > main { display: flex; flex-direction: column; background: var(--navy-950); }

@media (min-width: 901px) {
  .footer-quicknav { display: none; }
}

.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 40px; padding-bottom: 46px; }
.footer-grid h5 { font-size: var(--fs-base); color: #fff; margin-bottom: 18px; letter-spacing: .04em; }
.footer-grid a { display: block; padding: 5px 0; color: rgba(255, 255, 255, .56); font-size: var(--fs-sm); }
.footer-grid a:hover { color: var(--cyan-400); }
.footer-about p { margin-top: 16px; font-size: var(--fs-sm); line-height: 1.9; color: rgba(255, 255, 255, .48); max-width: 330px; }
.footer-contact p { margin-bottom: 9px; font-size: var(--fs-sm); line-height: 1.85; color: rgba(255, 255, 255, .50); }
.footer-contact a { display: inline; padding: 0; color: rgba(255, 255, 255, .68); }
.footer-contact a:hover { color: var(--cyan-400); }

.site-footer .logo-cn { color: #fff; font-size: var(--fs-lg); }
.site-footer .logo-en { color: rgba(255, 255, 255, .5); }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { animation: none !important; }
}

.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; border-radius: 999px;
  font-size: var(--fs-sm); font-weight: 500;
  background: var(--blue-100); color: var(--blue-700);
  border: 1px solid rgba(33, 128, 243, .14);
}
.section-dark .chip { background: rgba(143, 192, 255, .12); color: #cfe2ff; border-color: rgba(143, 192, 255, .22); }

.note {
  padding: 18px 22px; border-radius: var(--radius-sm);
  background: var(--bg-soft); border-left: 3px solid var(--blue-500);
  font-size: var(--fs-base); color: var(--ink-500);
}
.section-dark .note { background: rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .68); }

.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-40 { margin-top: 40px; }
.mb-24 { margin-bottom: 24px; }
.mb-40 { margin-bottom: 40px; }

.stack-flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: stretch; }
.stack-arrow {
  display: flex; align-items: center; justify-content: center;
  color: var(--blue-500); font-size: 26px; font-weight: 700;
}
.stack-card { background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 30px 28px; box-shadow: var(--shadow-sm); height: 100%; }
.stack-card .lv { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .14em; color: var(--blue-500); font-family: ui-monospace, Consolas, monospace; }
.stack-card h3 { margin-top: 12px; font-size: 20px; }
.stack-card .tagline { margin-top: 6px; font-size: var(--fs-sm); font-weight: 600; color: var(--blue-600); }

@media (max-width: 900px) {
  .stack-flow { grid-template-columns: 1fr; }
  .stack-arrow { transform: rotate(90deg); }
}

.carousel { position: relative; }

.carousel > img {
  opacity: 0;
  transition: opacity .8s var(--ease), transform 2s linear;
}
.carousel > img.is-active { opacity: 1; }

.carousel.kb > img { transform: scale(1.01); }
.carousel.kb > img.is-active { transform: scale(1.075); }

.carousel .dots {
  position: absolute; left: 50%; bottom: 14px; z-index: 6;
  transform: translateX(-50%);
  display: flex; align-items: center; gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(8, 24, 50, .42);
  border: 1px solid rgba(255, 255, 255, .16);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.carousel .dots button {
  width: 7px; height: 7px; padding: 0;
  border: none; border-radius: 999px;
  background: rgba(255, 255, 255, .48);
  cursor: pointer;
  transition: width .28s var(--ease), background .28s var(--ease);
}
.carousel .dots button:hover { background: rgba(255, 255, 255, .82); }
.carousel .dots button.is-active { width: 20px; background: #fff; }

.carousel.is-static .dots,
.carousel.is-empty .dots { display: none; }

.cert .carousel .dots,
.card .carousel .dots { bottom: 10px; padding: 5px 9px; gap: 6px; }
.card .carousel .dots button { width: 6px; height: 6px; }
.card .carousel .dots button.is-active { width: 16px; }

.hero-stage .dots { bottom: 30px; }

@media (max-width: 640px) {
  .carousel .dots { bottom: 10px; padding: 6px 9px; }
  .hero-stage .dots { bottom: 18px; }
}

.slider {
  position: relative;
  --s-gap: 24px;        
  --s-visible: 3.35;    
  --s-gaps: 3;          
}

.slider[data-per="2"] { --s-visible: 2.4; --s-gaps: 2; }

.slider[data-per="4"] { --s-visible: 4.3; --s-gaps: 4; }

.slider[data-per="5"] { --s-visible: 8.22; --s-gaps: 7; --s-gap: 18px; }

.slider[data-gallery] .slider-item { max-width: 420px; }

.cert-wall .slider-item.cert { padding: 0; overflow: hidden; }
.cert-wall .slider-item.cert .ph { border-radius: 10px; }

#honor .sec-head { max-width: none; }
#honor .sec-head .sec-lead { max-width: none; }

.slider-viewport {
  overflow-x: auto;
  overflow-y: hidden;                 
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 8px 0 20px;
}
.slider-viewport::-webkit-scrollbar { display: none; }

.slider-track { display: flex; gap: var(--s-gap); align-items: stretch; }

.slider-item {

  flex: 1 0 calc((100% - var(--s-gaps) * var(--s-gap)) / var(--s-visible));
  height: auto;                       
  scroll-snap-align: start;
}

.slider-nav {
  position: absolute; top: 50%; z-index: 5;
  transform: translateY(-50%);
  width: 44px; height: 44px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--ink-900);
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(11, 40, 90, .16);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  transition: opacity .22s var(--ease), background .22s var(--ease), color .22s var(--ease), border-color .22s var(--ease);
}
.slider-nav svg { width: 20px; height: 20px; }
.slider-nav:hover { background: var(--blue-600); border-color: var(--blue-600); color: #fff; }
.slider-prev { left: -18px; }
.slider-next { right: -18px; }
.slider-nav[disabled] { opacity: 0; pointer-events: none; }

.slider-dots {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin-top: 4px;
}
.slider-dots button {
  width: 8px; height: 8px; padding: 0;
  border: none; border-radius: 999px;
  background: var(--line);
  cursor: pointer;
  transition: width .28s var(--ease), background .28s var(--ease);
}
.slider-dots button:hover { background: var(--blue-300); }
.slider-dots button.is-active {
  width: 24px;
  background: linear-gradient(90deg, var(--blue-500), var(--cyan-400));
}

.slider.is-single .slider-nav,
.slider.is-single .slider-dots { display: none; }

.section-dark .slider-nav {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .24);
  color: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
}
.section-dark .slider-nav:hover { background: var(--blue-500); border-color: var(--blue-500); }
.section-dark .slider-dots button { background: rgba(255, 255, 255, .26); }
.section-dark .slider-dots button.is-active {
  background: linear-gradient(90deg, var(--blue-300), var(--cyan-400));
}

.slider--stack .slider-item.card { display: flex; flex-direction: column; }
.slider--stack .slider-item.card > p { margin-bottom: 24px; }
.slider--stack .slider-item.card > .ph { margin-top: auto; flex: 0 0 auto; }

@media (max-width: 1080px) {

  .slider { --s-visible: 2.25; --s-gaps: 2; }
  .slider[data-per="2"] { --s-visible: 1.4; --s-gaps: 1; }
  .slider[data-per="4"] { --s-visible: 2.35; --s-gaps: 2; }
  .slider[data-per="5"] { --s-visible: 2.35; --s-gaps: 2; }

  .cert-wall[data-per="5"] { --s-visible: 6.2; --s-gaps: 5; --s-gap: 14px; }
}

@media (max-width: 640px) {
  .slider { --s-gap: 16px; --s-visible: 1.35; --s-gaps: 1; }
  .slider[data-per="2"] { --s-gap: 16px; --s-visible: 1.35; --s-gaps: 1; }
  .slider[data-per="4"] { --s-gap: 16px; --s-visible: 1.35; --s-gaps: 1; }
  .slider[data-per="5"] { --s-gap: 12px; --s-visible: 2.35; --s-gaps: 2; }

  .cert-wall[data-per="5"] { --s-gap: 10px; --s-visible: 4.2; --s-gaps: 4; }
  .slider-viewport { padding: 6px 0 16px; }
  .slider-nav { width: 36px; height: 36px; }
  .slider-nav svg { width: 17px; height: 17px; }
  .slider-prev { left: 2px; }
  .slider-next { right: 2px; }
}

.map-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 21 / 9;
  min-height: 360px;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: var(--bg-soft);
  box-shadow: var(--shadow-sm);
}

.map-embed > div:not(.map-placeholder) { width: 100% !important; height: 100% !important; }
.map-embed .BMap_cpyCtrl, .map-embed .anchorBL { opacity: .7; }

.map-placeholder {
  position: absolute; inset: 0; z-index: 3;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 24px; text-align: center;
  background-color: #eef4fd;
  background-image: repeating-linear-gradient(45deg, rgba(22, 103, 214, .055) 0 8px, rgba(22, 103, 214, .015) 8px 16px);
}
.map-embed.is-ready .map-placeholder { display: none; }
.map-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-base); font-weight: 600; color: var(--blue-700);
}
.map-tag::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: linear-gradient(135deg, var(--blue-500), var(--cyan-400));
}
.map-placeholder small {
  display: block; max-width: 460px;
  font-size: var(--fs-xs); line-height: 1.9; color: #55779f;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Source Han Sans SC", monospace;
}
.map-placeholder code {
  padding: 1px 6px; border-radius: 4px;
  background: #fff; border: 1px solid var(--line); color: var(--blue-700);
}

.bd-info { padding: 2px 2px 8px; }
.bd-info strong { display: block; margin-bottom: 7px; font-size: var(--fs-base); color: var(--ink-900); }
.bd-info p { font-size: var(--fs-sm); line-height: 1.75; color: var(--ink-500); }

@media (max-width: 900px) {
  .map-embed { aspect-ratio: 4 / 3; min-height: 300px; }
}

.tech-page .section { padding: 56px 0; }
.tech-page .page-hero { padding: calc(var(--header-h) + 56px) 0 56px; }
.tech-page .sec-head { margin-bottom: 32px; }
.tech-page .flow { column-gap: 16px; }
.tech-page .grid { column-gap: 18px; }
.tech-page .tick-list { gap: 10px; }

@media (max-width: 1080px) {
  .header-tel { display: none; }
  .hero { min-height: auto; }
  .g-4, .g-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flow-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
  .cta-band { padding: 44px 36px; }
}

@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; }
  .nav {
    position: fixed; top: var(--header-h); left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 2px;
    padding: 14px 20px 26px;
    background: var(--navy-950);
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    transform: translateY(-14px); opacity: 0; visibility: hidden;
    transition: .28s var(--ease);
    max-height: calc(100vh - var(--header-h)); overflow-y: auto;
  }
  body.nav-open .nav { transform: none; opacity: 1; visibility: visible; }
  .nav a { padding: 14px 12px; font-size: var(--fs-md); color: rgba(255, 255, 255, .86) !important; border-radius: 10px; }
  .nav a.active { background: rgba(255, 255, 255, .07); }
  .nav a::after { display: none; }

  .split, .prod-block, .contact-block, .g-2, .g-3, .g-2-1, .g-1-2, .spec-split { grid-template-columns: 1fr; }
  .prod-block.rev .prod-media { order: 0; }
  .prod-block, .split { gap: 36px; }
  .prod-block + .prod-block { margin-top: 64px; padding-top: 64px; }

  .page-hero--split .wrap { grid-template-columns: 1fr; gap: 34px; }
  .section { padding: 66px 0; }
  .flow { grid-template-columns: 1fr; gap: 26px; }
  .hero-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .wrap { padding: 0 18px; }
  body { font-size: var(--fs-base); }
  .hero { padding: calc(var(--header-h) + 62px) 0 74px; }
  .hero-kpis { margin-top: 42px; padding-top: 26px; }
  .g-4, .g-5, .flow-4 { grid-template-columns: 1fr; }
  .cta-band { padding: 34px 24px; border-radius: var(--radius); }
  .footer-grid { grid-template-columns: 1fr; }
  .section { padding: 54px 0; }
  .sec-head { margin-bottom: 34px; }
  .card { padding: 24px 20px; }
  .spec-row { grid-template-columns: 1fr; gap: 3px; padding: 11px 18px; }
  .cert-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
