/* Noto Serif SC 400 · fontsource 按需分片（本地自托管） */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-28-400-normal.woff2) format('woff2');
  unicode-range: U+94f5,U+94f7,U+94f9,U+94fb-94fd,U+94ff,U+9503-9504,U+9506-9507,U+9509-950a,U+950d-950f,U+9511-9518,U+951a-9520,U+9522,U+9528-952d,U+9530-953a,U+953c-953f,U+9543-9546,U+9548-9550,U+9552-9555,U+9557-955b,U+955d-9568,U+956a-956d,U+9570-9574,U+9583,U+9586,U+9589,U+958e-958f,U+9591-9592,U+9594,U+9598-9599,U+959e-95a0,U+95a2-95a6,U+95a8-95b2,U+95b4,U+95b8-95c3;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-34-400-normal.woff2) format('woff2');
  unicode-range: U+8cbd,U+8cbf-8cc4,U+8cc7-8cc8,U+8cca,U+8ccd,U+8cd1,U+8cd3,U+8cdb-8cdc,U+8cde,U+8ce0,U+8ce2-8ce4,U+8ce6-8ce8,U+8cea,U+8ced,U+8cf4,U+8cf8,U+8cfa,U+8cfc-8cfd,U+8d04-8d05,U+8d07-8d08,U+8d0a,U+8d0d,U+8d0f,U+8d13-8d14,U+8d16,U+8d1b,U+8d20,U+8d30,U+8d32-8d33,U+8d36,U+8d3b,U+8d3d,U+8d40,U+8d42-8d43,U+8d45-8d46,U+8d48-8d4a,U+8d4d,U+8d51,U+8d53,U+8d55,U+8d59,U+8d5c-8d5d,U+8d5f,U+8d61,U+8d66-8d67,U+8d6a,U+8d6d,U+8d71,U+8d73,U+8d84,U+8d90-8d91,U+8d94-8d95,U+8d99,U+8da8,U+8daf,U+8db1,U+8db5,U+8db8,U+8dba,U+8dbc,U+8dbf,U+8dc2,U+8dc4,U+8dc6,U+8dcb,U+8dce-8dcf,U+8dd6-8dd7,U+8dda-8ddb,U+8dde,U+8de1,U+8de3-8de4,U+8de9,U+8deb-8dec,U+8df0-8df1,U+8df6-8dfd,U+8e05,U+8e07,U+8e09-8e0a,U+8e0c,U+8e0e,U+8e10,U+8e14,U+8e1d-8e1f,U+8e23,U+8e26,U+8e2b-8e31,U+8e34-8e35,U+8e39-8e3a,U+8e3d,U+8e40;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-47-400-normal.woff2) format('woff2');
  unicode-range: U+7bd3-7bd4,U+7bd9-7bda,U+7bdd,U+7be0-7be1,U+7be4-7be6,U+7be9-7bea,U+7bef,U+7bf4,U+7bf6,U+7bfc,U+7bfe,U+7c01,U+7c03,U+7c07-7c08,U+7c0a-7c0d,U+7c0f,U+7c11,U+7c15-7c16,U+7c19,U+7c1e-7c21,U+7c23-7c24,U+7c26,U+7c28-7c33,U+7c35,U+7c37-7c3b,U+7c3d-7c3e,U+7c40-7c41,U+7c43,U+7c47-7c48,U+7c4c,U+7c50,U+7c53-7c54,U+7c59,U+7c5f-7c60,U+7c63-7c65,U+7c6c,U+7c6e,U+7c72,U+7c74,U+7c79-7c7a,U+7c7c,U+7c81-7c82,U+7c84-7c85,U+7c88,U+7c8a-7c91,U+7c93-7c96,U+7c99,U+7c9b-7c9e,U+7ca0-7ca2,U+7ca6-7ca9,U+7cac,U+7caf-7cb3,U+7cb5-7cb7,U+7cba-7cbd,U+7cbf-7cc2,U+7cc5,U+7cc7-7cc9,U+7ccc-7ccd,U+7cd7,U+7cdc,U+7cde,U+7ce0,U+7ce4-7ce5,U+7ce7;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-81-400-normal.woff2) format('woff2');
  unicode-range: U+5289,U+528b,U+528d,U+528f,U+5291-5293,U+529a,U+52a2,U+52a6-52a7,U+52ac-52ad,U+52af,U+52b4-52b5,U+52b9,U+52bb-52bc,U+52be,U+52c1,U+52c5,U+52ca,U+52cd,U+52d0,U+52d6-52d7,U+52d9,U+52db,U+52dd-52de,U+52e0,U+52e2-52e3,U+52e5,U+52e7-52f0,U+52f2-52f3,U+52f5-52f9,U+52fb-52fc,U+5302,U+5304,U+530b,U+530d,U+530f-5310,U+5315,U+531a,U+531c-531d,U+5321,U+5323,U+5326,U+532e-5331,U+5338,U+533c-533e,U+5344-5345,U+534b-534d,U+5350,U+5354,U+5358,U+535d-535f,U+5363,U+5368-5369,U+536c,U+536e-536f,U+5372,U+5379-537b,U+537d,U+538d-538e,U+5390,U+5393-5394,U+5396,U+539b-539d,U+53a0-53a1,U+53a3-53a5,U+53a9,U+53ad-53ae,U+53b0,U+53b2-53b3,U+53b5-53b8,U+53bc,U+53be,U+53c1,U+53c3-53c7,U+53ce-53cf,U+53d2-53d3,U+53d5,U+53da,U+53de-53df,U+53e1-53e2;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-90-400-normal.woff2) format('woff2');
  unicode-range: U+207c-2083,U+208c-208e,U+2092,U+20a6,U+20a8-20ad,U+20af,U+20b1,U+20b4-20b5,U+20b8-20ba,U+20bd,U+20db,U+20dd,U+20e0,U+20e3,U+2105,U+2109,U+2113,U+2116-2117,U+2120-2121,U+2126,U+212b,U+2133,U+2139,U+2194,U+2196-2199,U+21a0,U+21a9-21aa,U+21af,U+21b3,U+21b5,U+21ba-21bb,U+21c4,U+21ca,U+21cc,U+21d0-21d4,U+21e1,U+21e6-21e9,U+2200,U+2202,U+2205-2208,U+220f,U+2211-2212,U+2215,U+2217-2219,U+221d-2220,U+2223,U+2225,U+2227-222b,U+222e,U+2234-2237,U+223c-223d,U+2248,U+224c,U+2252,U+2256,U+2260-2261,U+2266-2267,U+226a-226b,U+226e-226f,U+2282-2283,U+2295,U+2297,U+2299,U+22a5,U+22b0-22b1,U+22b9,U+22bf,U+22c5-22c6,U+22ef,U+2304,U+2307,U+230b,U+2312-2314,U+2318,U+231a-231b,U+2323,U+239b,U+239d-239e,U+23a0,U+23e9;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-91-400-normal.woff2) format('woff2');
  unicode-range: U+1d34-1d35,U+1d38-1d3a,U+1d3c,U+1d3f-1d40,U+1d49,U+1d4e-1d4f,U+1d52,U+1d55,U+1d5b,U+1d5e,U+1d9c,U+1da0,U+1dc4-1dc5,U+1e69,U+1e73,U+1ea0-1ea9,U+1eab-1ead,U+1eaf,U+1eb1,U+1eb3,U+1eb5,U+1eb7,U+1eb9,U+1ebb,U+1ebd-1ebe,U+1ec0-1ec3,U+1ec5-1ec6,U+1ec9-1ecd,U+1ecf-1ed3,U+1ed5,U+1ed7-1edf,U+1ee1,U+1ee3,U+1ee5-1eeb,U+1eed,U+1eef-1ef1,U+1ef3,U+1ef7,U+1ef9,U+1f62,U+1f7b,U+2001-2002,U+2004-2006,U+2009-200a,U+200c-2012,U+2015-2016,U+201a,U+201e-2021,U+2023,U+2025,U+2028,U+202a-202d,U+202f-2030,U+2032-2033,U+2035,U+2038,U+203c,U+203e-203f,U+2043-2044,U+2049,U+204d-204e,U+2060-2061,U+2070,U+2074-2078,U+207a-207b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-99-400-normal.woff2) format('woff2');
  unicode-range: U+a1-a4,U+a6-a8,U+aa,U+ac,U+af,U+b1,U+b3-b6,U+b8-ba,U+bc-d6,U+d8-de,U+e6,U+eb,U+ee-f0,U+f5,U+f7-f8,U+fb,U+fd-100,U+102,U+104-107,U+10d,U+10f-112,U+115,U+117,U+119,U+11b,U+11e-11f,U+121,U+123,U+125-127,U+129-12a,U+12d,U+12f-13f,U+141-142,U+144,U+146,U+14b-14c,U+14f-153,U+158-15b,U+15e-160,U+163-165,U+168-16a,U+16d-175;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-100-400-normal.woff2) format('woff2');
  unicode-range: U+221a,U+2264,U+2464,U+25a0,U+3008,U+4e10,U+512a,U+5152,U+5201,U+5241,U+5340,U+5352,U+549a,U+54b2,U+54c6,U+54d7,U+54e1,U+5509,U+55c5,U+5618,U+5716,U+576f,U+5784,U+57a2,U+589f,U+5a20,U+5a25,U+5a29,U+5a34,U+5a7f,U+5ad6,U+5b09,U+5b5c,U+5bc7,U+5be6,U+5c27,U+5d2d,U+5dcd,U+5f1b,U+5f37,U+604d,U+6055,U+6073,U+60eb,U+61ff,U+62ce,U+62ed,U+6345,U+6390,U+63b0,U+63b7,U+64ae,U+64c2,U+64d2,U+6556,U+663c,U+667e,U+66d9,U+66f8,U+6756,U+6789,U+689d,U+68f1,U+695e,U+6975,U+6a1f,U+6b0a,U+6b61,U+6b87,U+6c5d,U+6c7e,U+6c92,U+6d31,U+6df9,U+6e0d,U+6e2d,U+6f31,U+6f3e,U+70b3,U+70bd,U+70ca,U+70e8,U+725f,U+733f,U+7396,U+739f,U+7459,U+74a7,U+75a1,U+75f0,U+76cf,U+76d4,U+7729,U+77aa,U+77b0,U+77e3,U+780c,U+78d5,U+7941,U+7977,U+797a,U+79c3,U+7a20,U+7a92,U+7b71,U+7bf1,U+7c9f,U+7eb6,U+7eca,U+7ef7,U+7f07,U+7f09,U+7f15,U+7f81,U+7fb9,U+8038,U+8098,U+80b4,U+8110,U+814b-814c,U+816e,U+818a,U+8205,U+8235,U+828b,U+82a5,U+82b7,U+82d4,U+82db,U+82df,U+8317,U+8338,U+8385-8386,U+83c1,U+83cf,U+8537,U+853b,U+854a,U+8715,U+8783,U+892a,U+8a71,U+8bb3,U+8d2e,U+8d58,U+8dbe,U+8f67,U+8fab,U+8fc4,U+8fe6,U+9023,U+9084,U+9091,U+916a,U+91c9,U+91dc,U+94b3,U+9502,U+9523,U+9551,U+956f,U+960e,U+962a,U+962e,U+9647,U+96f3,U+9739,U+97a0,U+97ed,U+983b,U+985e,U+988a,U+99ac,U+9a6f,U+9a87,U+9a8b,U+9ab7,U+9abc,U+9ac5,U+9e25,U+e608,U+e621,U+ff06,U+ff14-ff16;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-101-400-normal.woff2) format('woff2');
  unicode-range: U+161,U+926,U+928,U+939,U+93f-940,U+94d,U+e17,U+e22,U+e44,U+25c7,U+25ce,U+2764,U+3009,U+3016-3017,U+4e4d,U+4e53,U+4f5a,U+4f70,U+4fae,U+4fd8,U+4ffa,U+5011,U+501a,U+51c4,U+5225,U+547b,U+5495,U+54e8,U+54ee,U+5594,U+55d3,U+55dc,U+55fd,U+560e,U+565c,U+5662,U+5669,U+566c,U+56bc,U+5742,U+5824,U+5834,U+598a,U+5992,U+59a9,U+5a04,U+5ac9,U+5b75,U+5b7d,U+5bc5,U+5c49,U+5c90,U+5e1c,U+5e27,U+5e2b,U+5e37,U+5e90,U+618b,U+61f5,U+620a,U+620c,U+6273,U+62c7,U+62f7,U+6320,U+6342,U+6401-6402,U+6413,U+6512,U+655b,U+65a7,U+65f1,U+65f7,U+665f,U+6687,U+66a7,U+673d,U+67b8,U+6854,U+68d8,U+68fa,U+696d,U+6a02,U+6a0a,U+6a80,U+6b7c,U+6bd9,U+6c2e,U+6c76,U+6cf8,U+6d4a,U+6d85,U+6e24,U+6e32,U+6ec7,U+6f88,U+700f,U+701a,U+7078,U+707c,U+70ac,U+70c1,U+72e9,U+7409,U+7422,U+745a,U+7480,U+74a8,U+752b,U+7574,U+7656,U+7699,U+7737,U+785d,U+78be,U+79b9,U+7a3d,U+7a91,U+7a9f,U+7ae3,U+7b77,U+7c3f,U+7d1a,U+7d50,U+7d93,U+8042,U+808b,U+8236,U+82b8-82b9,U+82ef,U+8309,U+836b,U+83ef,U+8431,U+85c9,U+865e,U+868c,U+8759,U+8760,U+8845,U+89ba,U+8a2a,U+8aaa,U+8c41,U+8d2c,U+8d4e,U+8e66,U+8e6d,U+8eaf,U+902e,U+914b,U+916e,U+919b,U+949b,U+94a0,U+94b0,U+9541-9542,U+9556,U+95eb,U+95f5,U+964b,U+968b,U+96cc-96cd,U+96cf,U+9713,U+9890,U+98a8,U+9985,U+9992,U+9a6d,U+9a81,U+9a86,U+9ab8,U+9ca4,U+e606-e607,U+e60a,U+e60c,U+e60e,U+fe0f,U+ff02,U+ff1e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-102-400-normal.woff2) format('woff2');
  unicode-range: U+10c,U+627-629,U+639,U+644,U+64a,U+203b,U+2265,U+2463,U+2573,U+25b2,U+3448-3449,U+4e1e,U+4e5e,U+4f3a,U+4f5f,U+4fea,U+5026,U+508d,U+516e,U+5189,U+5254,U+5288,U+52d8,U+52fa,U+5306,U+5308,U+5364,U+5384,U+53ed,U+543c,U+5450,U+5455,U+5466,U+54c4,U+5578,U+55a7,U+561f,U+5631,U+572d,U+575f,U+57ae,U+57e0,U+5830,U+594e,U+5984,U+5993,U+5bdd,U+5c0d,U+5c7f,U+5c82,U+5e62,U+5ed3,U+5f08,U+607a,U+60bc,U+625b,U+6292,U+62e2,U+6363,U+6467,U+6714,U+675e,U+6771,U+67a2,U+67ff,U+6805,U+68a7,U+68e0,U+6930,U+6986,U+69a8,U+69df,U+6a44,U+6a5f,U+6c13,U+6c1f,U+6c22,U+6c2f,U+6c40,U+6c81,U+6c9b,U+6ca5,U+6da4,U+6df3,U+6e85,U+6eba,U+6ed5,U+6f13,U+6f33,U+6f62,U+715e,U+72c4,U+73d1,U+7405,U+7487,U+7578,U+75a4,U+75eb,U+7693,U+7738,U+7741,U+776b,U+7792,U+77a7,U+77a9,U+77b3,U+788c,U+7984,U+79a7,U+79e4,U+7a1a,U+7a57,U+7aa6,U+7b0b,U+7b5d,U+7c27,U+7c7d,U+7caa,U+7cd9,U+7cef,U+7eda,U+7ede,U+7f24,U+803f,U+8046,U+80fa,U+81fb,U+8207,U+8258,U+8335,U+8339,U+8354,U+840e,U+85b0,U+85fb,U+8695,U+86aa,U+8717,U+8749,U+874c,U+8996,U+89bd,U+89c5,U+8bdb,U+8bf5,U+8c5a,U+8cec,U+8d3f,U+8d9f,U+8e44,U+8fed,U+9005,U+9019,U+9082,U+90af,U+90dd,U+90e1,U+90f8,U+916f,U+9176,U+949e,U+94a7,U+94c2,U+9525,U+9580,U+95dc,U+96e2,U+96fb,U+9704,U+9a7c,U+9a7f,U+9b41,U+9ca8,U+9cc4,U+9cde,U+9e92,U+9ede,U+9f9a,U+e60b,U+e610,U+ff10,U+ff13,U+ff3b,U+ff3d,U+f012b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-103-400-normal.woff2) format('woff2');
  unicode-range: U+60,U+631,U+2606,U+3014-3015,U+309c,U+33a1,U+4e52,U+4ec6,U+4f86,U+4f8d,U+4fde,U+4fef,U+500b,U+502a,U+515c,U+518a,U+51a5,U+51f3,U+5243,U+52c9,U+52d5,U+53a2,U+53ee,U+54ce,U+54fa,U+54fc,U+5580,U+5587,U+563f,U+56da,U+5792,U+5815,U+5960,U+59d7,U+5b78,U+5b9b,U+5be1,U+5c4e,U+5c51,U+5c6f,U+5c9a,U+5cfb,U+5d16,U+5ed6,U+5f27,U+5f6a,U+609a,U+60df,U+6168,U+61c8,U+6236,U+62f1,U+62fd,U+631a,U+6328,U+632b,U+6346,U+638f,U+63a0,U+63c9,U+655e,U+6590,U+6615,U+6627,U+66ae,U+66e6,U+66f0,U+67da,U+67ec,U+6813,U+6816,U+6869,U+6893,U+68ad,U+68f5,U+6977,U+6984,U+69db,U+6b72,U+6bb7,U+6ce3,U+6cfb,U+6d47,U+6da1,U+6dc4,U+6e43,U+6eaf,U+6eff,U+6f8e,U+7011,U+7063,U+7076,U+7096,U+70ba,U+70db,U+70ef,U+7119-711a,U+7172,U+718f,U+7194,U+727a,U+72d9,U+72ed,U+7325,U+73ae,U+73ba,U+73c0,U+73fe,U+7410,U+7426,U+7455,U+7554,U+7576,U+75ae,U+75b9,U+762b,U+766b,U+7682,U+7750,U+7779,U+7784,U+77eb,U+77ee,U+78f7,U+79e9,U+7a79,U+7b1b,U+7b28,U+7bf7,U+7db2,U+7ec5,U+7eee,U+7f14,U+7f1a,U+7fe1,U+8087,U+809b,U+81b3,U+8231,U+830e,U+835f,U+83e9,U+849c,U+851a,U+868a,U+8718,U+874e,U+8822,U+8910,U+8944,U+8a3b,U+8bb6,U+8bbc,U+8e72,U+8f9c,U+900d,U+904b,U+904e,U+9063,U+90a2,U+90b9,U+9119,U+94f2,U+952f,U+9576-9577,U+9593,U+95f8,U+961c,U+969b,U+96a7,U+96c1,U+9716,U+9761,U+97ad,U+97e7,U+98a4,U+997a,U+9a73,U+9b44,U+9e3d,U+9ecf,U+9ed4,U+ff11-ff12,U+fffd;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-104-400-normal.woff2) format('woff2');
  unicode-range: U+2003,U+2193,U+2462,U+4e19,U+4e2b,U+4e36,U+4ea8,U+4ed1,U+4ed7,U+4f51,U+4f63,U+4f83,U+50e7,U+5112,U+5167,U+51a4,U+51b6,U+5239,U+5265,U+532a,U+5351,U+537f,U+5401,U+548f,U+5492,U+54af,U+54b3,U+54bd,U+54d1,U+54df,U+554f,U+5564,U+5598,U+5632,U+56a3,U+56e7,U+574e,U+575d-575e,U+57d4,U+584c,U+58e4,U+5937,U+5955,U+5a05,U+5a1f,U+5a49,U+5ac2,U+5c39,U+5c61,U+5d0e,U+5de9,U+5e9a,U+5eb8,U+5f0a,U+5f13,U+5f6c,U+5f8c,U+603c,U+608d,U+611b,U+6127,U+62a0,U+62d0,U+634f,U+635e,U+63fd,U+6577,U+658b,U+65bc,U+660a,U+6643,U+6656,U+6703,U+6760,U+67af,U+67c4,U+67e0,U+6817,U+68cd,U+690e,U+6960,U+69b4,U+6a71,U+6aac,U+6b67,U+6bb4,U+6c55,U+6c70,U+6c82,U+6ca6,U+6cb8,U+6cbe,U+6ede,U+6ee5,U+6f4d,U+6f84,U+6f9c,U+7115,U+7121,U+722a,U+7261,U+7272,U+7280,U+72f8,U+7504,U+754f,U+75d8,U+767c,U+76ef,U+778e,U+77bb,U+77f6,U+786b,U+78b1,U+7948,U+7985,U+79be,U+7a83,U+7a8d,U+7eac,U+7eef,U+7ef8,U+7efd,U+7f00,U+803d,U+8086,U+810a,U+8165,U+819d,U+81a8,U+8214,U+829c,U+831c,U+832b,U+8367,U+83e0,U+83f1,U+8403,U+846b,U+8475,U+84b2,U+8513,U+8574,U+85af,U+86d9,U+86db,U+8acb,U+8bbd,U+8be0-8be1,U+8c0e,U+8d29,U+8d50,U+8d63,U+8f7f,U+9032,U+9042,U+90b1,U+90b5,U+9165,U+9175,U+94a6,U+94c5,U+950c,U+9610,U+9631,U+9699,U+973e,U+978d,U+97ec,U+97f6,U+984c,U+987d,U+9882,U+9965,U+996a,U+9972,U+9a8f,U+9ad3,U+9ae6,U+9cb8,U+9edb,U+e600,U+e60f,U+e611,U+ff05,U+ff0b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-105-400-normal.woff2) format('woff2');
  unicode-range: U+5e,U+2190,U+250a,U+25bc,U+25cf,U+4e56,U+4ea9,U+4f3d,U+4f6c,U+4f88,U+4fa8,U+4fcf,U+5029,U+5188,U+51f9,U+5203,U+524a,U+5256,U+529d,U+5375,U+53db,U+541f,U+5435,U+5457,U+548b,U+54c7,U+54d4,U+54e9,U+556a,U+5589,U+55bb,U+55e8,U+55ef,U+563b,U+566a,U+576a,U+58f9,U+598d,U+599e,U+59a8,U+5a9b,U+5ae3,U+5bb0,U+5bde,U+5c4c,U+5c60,U+5d1b,U+5deb,U+5df7,U+5e18,U+5f26,U+5f64,U+601c,U+6084,U+60e9,U+614c,U+6208,U+621a,U+6233,U+6254,U+62d8,U+62e6,U+62ef,U+6323,U+632a,U+633d,U+6361,U+6405,U+640f,U+6614,U+6642,U+6657,U+67a3,U+6808,U+683d,U+6850,U+6897,U+68b3,U+68b5,U+68d5,U+6a58,U+6b47,U+6b6a,U+6c28,U+6c90,U+6ca7,U+6cf5,U+6d51,U+6da9,U+6dc7,U+6dd1,U+6e0a,U+6e5b,U+6e9c,U+6f47,U+6f6d,U+70ad,U+70f9,U+710a,U+7130,U+71ac,U+745f,U+7476,U+7490,U+7529,U+7538,U+75d2,U+7696,U+76b1,U+76fc,U+777f,U+77dc,U+789f,U+795b,U+79bd,U+79c9,U+7a3b,U+7a46,U+7aa5,U+7ad6,U+7ca5,U+7cb9,U+7cdf,U+7d6e,U+7f06,U+7f38,U+7fa1,U+7fc1,U+8015,U+803b,U+80a2,U+80aa,U+8116,U+813e,U+82bd,U+8305,U+8328,U+8346,U+846c,U+8549,U+859b,U+8611,U+8680,U+87f9,U+884d,U+8877,U+888d,U+88d4,U+898b,U+8a79,U+8a93,U+8c05,U+8c0d,U+8c26,U+8d1e,U+8d31,U+8d81,U+8e22,U+8e81,U+8f90,U+8f96,U+90ca,U+916c,U+917f,U+9187,U+918b,U+9499,U+94a9,U+9524,U+9540,U+958b,U+9600,U+9640,U+96b6,U+96c7,U+96ef,U+98d9,U+9976,U+997f,U+9a74,U+9a84,U+9c8d,U+9e26,U+9e9f,U+ad6d,U+c5b4,U+d55c,U+ff0f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-106-400-normal.woff2) format('woff2');
  unicode-range: U+b0,U+2191,U+2460-2461,U+25c6,U+300e-300f,U+4e1b,U+4e7e,U+4ed5,U+4ef2,U+4f10,U+4f1e,U+4f50,U+4fa6,U+4faf,U+5021,U+50f5,U+5179,U+5180,U+51d1,U+522e,U+52a3,U+52c3,U+52cb,U+5300,U+5319,U+5320,U+5349,U+5395,U+53d9,U+541e,U+5428,U+543e,U+54b1,U+54c0,U+54d2,U+570b,U+5858,U+58f6,U+5974,U+59a5,U+59e8,U+59ec,U+5a36,U+5a9a,U+5ab3,U+5b99,U+5baa,U+5ce1,U+5d14,U+5d4c,U+5dc5,U+5de2,U+5e99,U+5e9e,U+5f18,U+5f66,U+5f70,U+6070,U+60d5,U+60e7,U+6101,U+611a,U+61be,U+6241,U+6252,U+626f,U+6296,U+62bc,U+62cc,U+6380,U+63a9,U+644a,U+6454,U+64a9,U+64b8,U+6500,U+6572,U+65a5,U+65a9,U+65ec,U+660f,U+6749,U+6795,U+67ab,U+68da,U+6912,U+6bbf,U+6bef,U+6cab,U+6cca,U+6ccc,U+6cfc,U+6d3d,U+6d78,U+6dee,U+6e17,U+6e34,U+6e83,U+6ea2,U+6eb6,U+6f20,U+6fa1,U+707f,U+70d8,U+70eb,U+714c,U+714e,U+7235,U+7239,U+73ca,U+743c,U+745c,U+7624,U+763e,U+76f2,U+77db,U+77e9,U+780d,U+7838,U+7845,U+78ca,U+796d,U+7a84,U+7aed,U+7b3c,U+7eb2,U+7f05,U+7f20,U+7f34,U+7f62,U+7fc5,U+7fd8,U+7ff0,U+800d,U+8036,U+80ba,U+80be,U+80c0-80c1,U+8155,U+817a,U+8180,U+81e3,U+8206,U+8247,U+8270,U+8299,U+82ad,U+8304,U+8393,U+83b9,U+840d,U+8427,U+8469,U+8471,U+84c4,U+84ec,U+853d,U+8681-8682,U+8721,U+8854,U+88d5,U+88f9,U+8bc0,U+8c0a,U+8c29,U+8c2d,U+8d41,U+8dea,U+8eb2,U+8f9f,U+903b,U+903e,U+9102,U+9493,U+94a5,U+94f8,U+95f7,U+9706,U+9709,U+9774,U+98a0,U+9e64,U+9f9f,U+e603;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-107-400-normal.woff2) format('woff2');
  unicode-range: U+200b,U+2103,U+4e18,U+4e27-4e28,U+4e38,U+4e59,U+4e8f,U+4ead,U+4ec7,U+4fe9,U+503a,U+5085,U+5146,U+51af,U+51f8,U+52ab,U+5339,U+535c,U+5378,U+538c,U+5398,U+53f9,U+5415,U+5475,U+54aa,U+54ac,U+54b8,U+5582,U+5760,U+5764,U+57cb,U+5835,U+5885,U+5951,U+5983,U+59da,U+5a77,U+5b5d,U+5b5f,U+5bb5,U+5bc2,U+5be8,U+5bfa,U+5c2c,U+5c34,U+5c41,U+5c48,U+5c65,U+5cad,U+5e06,U+5e42,U+5ef7,U+5f17,U+5f25,U+5f6d,U+5f79,U+6028,U+6064,U+6068,U+606d,U+607c,U+6094,U+6109,U+6124,U+6247,U+626d,U+6291,U+629a,U+62ac,U+62b9,U+62fe,U+6324,U+6349,U+6367,U+6398,U+6495,U+64a4,U+64b0,U+64bc,U+64ce,U+658c,U+65ed,U+6602,U+6674,U+6691,U+66a8,U+674f,U+679a,U+67ef,U+67f4,U+680b,U+6876,U+68a8,U+6a59,U+6a61,U+6b20,U+6bc5,U+6d12,U+6d46,U+6d8c,U+6dc0,U+6e14,U+6e23,U+6f06,U+7164,U+716e,U+7199,U+71e5,U+72ac,U+742a,U+755c,U+75ab,U+75b2,U+75f4,U+7897,U+78b3,U+78c5,U+7978,U+79fd,U+7a74,U+7b4b,U+7b5b,U+7ece,U+7ed2,U+7ee3,U+7ef3,U+7f50,U+7f55,U+7f9e,U+7fe0,U+809d,U+8106,U+814a,U+8154,U+817b,U+818f,U+81c2,U+81ed,U+821f,U+82a6,U+82d1,U+8302,U+83c7,U+83ca,U+845b,U+848b,U+84c9,U+85e4,U+86ee,U+8700,U+8774,U+8881,U+8c1c,U+8c79,U+8d2a,U+8d3c,U+8eba,U+8f70,U+8fa9,U+8fb1,U+900a,U+9017,U+901d,U+9022,U+906e,U+946b,U+94dd,U+94ed,U+953b,U+95ef,U+95fa,U+95fd,U+96c0,U+971e,U+9753,U+9756,U+97e6,U+9881,U+9887,U+9b4f,U+9e2d,U+9f0e,U+e601-e602,U+e604-e605,U+ff5c;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-108-400-normal.woff2) format('woff2');
  unicode-range: U+24,U+4e08,U+4e43,U+4e4f,U+4ef0,U+4f2a,U+507f,U+50ac,U+50bb,U+5151,U+51bb,U+51f6,U+51fd,U+5272,U+52fe,U+5362,U+53c9,U+53d4,U+53e0,U+543b,U+54f2,U+5507,U+5524,U+558a,U+55b5,U+561b,U+56ca,U+5782,U+57c3,U+5893,U+5915,U+5949,U+5962,U+59ae,U+59dc,U+59fb,U+5bd3,U+5c38,U+5cb3,U+5d07,U+5d29,U+5de1,U+5dfe,U+5e15,U+5eca,U+5f2f,U+5f7c,U+5fcc,U+6021,U+609f,U+60f9,U+6108,U+6148,U+6155,U+6170,U+61d2,U+6251,U+629b,U+62ab,U+62e8,U+62f3,U+6321,U+6350,U+6566,U+659c,U+65e8,U+6635,U+6655,U+6670,U+66f9,U+6734,U+679d,U+6851,U+6905,U+6b49,U+6b96,U+6c1b,U+6c41,U+6c6a,U+6c83,U+6cf3,U+6d9b,U+6dcb,U+6e1d,U+6e20-6e21,U+6eaa,U+6ee4,U+6ee9,U+6f58,U+70e4,U+722c,U+7262,U+7267,U+72b9,U+72e0,U+72ee,U+72f1,U+7334,U+73ab,U+7433,U+7470,U+758f,U+75d5,U+764c,U+7686,U+76c6,U+76fe,U+7720,U+77e2,U+7802,U+7816,U+788d,U+7891,U+7a00,U+7a9d,U+7b52,U+7bad,U+7c98,U+7cca,U+7eba,U+7eea,U+7ef5,U+7f1d,U+7f69,U+806a,U+809a,U+80bf,U+80c3,U+81c0,U+820c,U+82ac,U+82af,U+82cd,U+82d7,U+838e,U+839e,U+8404,U+84b8,U+852c,U+8587,U+8650,U+8679,U+86c7,U+8702,U+87ba,U+886b-886c,U+8870,U+8c10,U+8c23,U+8c6b,U+8d3e,U+8d4b-8d4c,U+8d64,U+8d6b,U+8d74,U+8e29,U+8f69,U+8f74,U+8fb0,U+8fdf,U+901b,U+9038,U+9093,U+9171,U+9489,U+94ae,U+94c3,U+9508,U+9510,U+9601,U+9614,U+964c,U+9675,U+971c,U+97f5,U+9888,U+98d8,U+9971,U+9aa4,U+9e3f,U+9e45,U+9e4f,U+9e70,U+9f7f,U+e715;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-109-400-normal.woff2) format('woff2');
  unicode-range: U+a5,U+2192,U+2605,U+4e11,U+4e22,U+4e32,U+4f0d,U+4f0f,U+4f69,U+4ff1,U+50b2,U+5154,U+51dd,U+51f0,U+5211,U+5269,U+533f,U+5366-5367,U+5389,U+5413,U+5440,U+5446,U+5561,U+574a,U+5751,U+57ab,U+5806,U+5821,U+582a,U+58f3,U+5938,U+5948,U+5978,U+59d1,U+5a03,U+5a07,U+5ac1,U+5acc,U+5ae9,U+5bb4,U+5bc4,U+5c3f,U+5e3d,U+5e7d,U+5f92,U+5faa,U+5fe0,U+5ffd,U+6016,U+60a0,U+60dc,U+60e8,U+614e,U+6212,U+6284,U+62c6,U+62d3-62d4,U+63f4,U+642c,U+6478,U+6491-6492,U+64e6,U+6591,U+65a4,U+664b,U+6735,U+6746,U+67f1,U+67f3,U+6842,U+68af,U+68c9,U+68cb,U+6a31,U+6b3a,U+6bc1,U+6c0f,U+6c27,U+6c57,U+6cc4,U+6ce5,U+6d2a,U+6d66,U+6d69,U+6daf,U+6e58,U+6ecb,U+6ef4,U+707e,U+7092,U+70ab,U+71d5,U+7275,U+7384,U+73b2,U+7434,U+74e6,U+74f7,U+75bc,U+76c8,U+76d0,U+7709,U+77ac,U+7855,U+78a7,U+78c1,U+7a77,U+7b79,U+7c92,U+7cae,U+7cd5,U+7ea4,U+7eb5,U+7ebd,U+7f5a,U+7fd4,U+7ffc,U+8083,U+8096,U+80a0,U+80d6,U+80de,U+8102,U+8109,U+810f,U+8179,U+8292,U+82b3,U+8352,U+8361,U+83cc,U+841d,U+8461,U+8482,U+8521,U+857e,U+85aa,U+866b,U+8776,U+8896,U+889c,U+88f8,U+8a9e,U+8bc8,U+8bf8,U+8c0b,U+8c28,U+8d2b,U+8d2f,U+8d37,U+8d3a,U+8d54,U+8dc3,U+8dcc,U+8df5,U+8e0f,U+8e48,U+8f86,U+8f88,U+8f9e,U+8fc1,U+8fc8,U+8feb,U+9065,U+90a6,U+90aa,U+90bb,U+90c1,U+94dc,U+9521,U+9676,U+96d5,U+970d,U+9897,U+997c,U+9a70,U+9a76,U+9a9a,U+9ad4,U+9e23,U+9e7f,U+9f3b,U+e675,U+e6b9,U+ffe5;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-110-400-normal.woff2) format('woff2');
  unicode-range: U+300c-300d,U+4e54,U+4e58,U+4e95,U+4ec1,U+4f2f,U+4f38,U+4fa3,U+4fca,U+503e,U+5141,U+5144,U+517c,U+51cc,U+51ed,U+5242,U+52b2,U+52d2,U+52e4,U+540a,U+5439,U+5448,U+5496,U+54ed,U+5565,U+5761,U+5766,U+58ee,U+593a,U+594b,U+594f,U+5954,U+5996,U+59c6,U+59ff,U+5b64,U+5bff,U+5c18,U+5c1d,U+5c97,U+5ca9,U+5cb8,U+5e9f,U+5ec9,U+5f04,U+5f7b,U+5fa1,U+5fcd,U+6012,U+60a6,U+60ac,U+60b2,U+60ef,U+626e,U+6270,U+6276,U+62d6,U+62dc,U+6316,U+632f,U+633a,U+6355,U+63aa,U+6447,U+649e,U+64c5,U+654c,U+65c1,U+65cb,U+65e6,U+6606,U+6731,U+675c,U+67cf,U+67dc,U+6846,U+6b8b,U+6beb,U+6c61,U+6c88,U+6cbf,U+6cdb,U+6cea,U+6d45,U+6d53,U+6d74,U+6d82,U+6da8,U+6db5,U+6deb,U+6eda,U+6ee8,U+6f0f,U+706d,U+708e,U+70ae,U+70bc,U+70c2,U+70e6,U+7237-7238,U+72fc,U+730e,U+731b,U+739b,U+73bb,U+7483,U+74dc,U+74f6,U+7586,U+7626,U+775b,U+77ff,U+788e,U+78b0,U+7956,U+7965,U+79e6,U+7af9,U+7bee,U+7c97,U+7eb1,U+7eb7,U+7ed1,U+7ed5,U+7f6a,U+7f72,U+7fbd,U+8017,U+808c,U+80a9,U+80c6,U+80ce,U+8150,U+8170,U+819c,U+820d,U+8230,U+8239,U+827e,U+8377,U+8389,U+83b2,U+8428,U+8463,U+867e,U+88c2,U+88d9,U+8986,U+8bca,U+8bde,U+8c13,U+8c8c,U+8d21,U+8d24,U+8d56,U+8d60,U+8d8b,U+8db4,U+8e2a,U+8f68,U+8f89,U+8f9b,U+8fa8,U+8fbd,U+9003,U+90ce,U+90ed,U+9189,U+94bb,U+9505,U+95f9,U+963b,U+9655,U+966a,U+9677,U+96fe,U+9896,U+99a8,U+9a71,U+9a82,U+9a91,U+9b45,U+9ece,U+9f20,U+feff,U+ff0d;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-111-400-normal.woff2) format('woff2');
  unicode-range: U+4e4c,U+4e88,U+4ea1,U+4ea6,U+4ed3-4ed4,U+4eff,U+4f30,U+4fa7,U+4fc4,U+4fd7,U+500d,U+504f,U+5076-5077,U+517d,U+5192,U+51c9,U+51ef,U+5238,U+5251,U+526a,U+52c7,U+52df,U+52ff,U+53a6,U+53a8,U+53ec,U+5410,U+559d,U+55b7,U+5634,U+573e,U+5783,U+585e,U+586b,U+58a8,U+5999,U+59d3,U+5a1c,U+5a46,U+5b54-5b55,U+5b85,U+5b8b,U+5b8f,U+5bbf,U+5bd2,U+5c16,U+5c24,U+5e05,U+5e45,U+5e7c,U+5e84,U+5f03,U+5f1f,U+5f31,U+5f84,U+5f90,U+5fbd,U+5fc6,U+5fd9,U+5fe7,U+6052,U+6062,U+6089,U+60a3,U+60d1,U+6167,U+622a,U+6234,U+624e,U+6269,U+626c,U+62b5,U+62d2,U+6325,U+63e1,U+643a,U+6446,U+6562,U+656c,U+65e2,U+65fa,U+660c,U+6628,U+6652,U+6668,U+6676,U+66fc,U+66ff,U+6717,U+676d,U+67aa,U+67d4,U+6843,U+6881,U+68d2,U+695a,U+69fd,U+6a2a,U+6b8a,U+6c60,U+6c64,U+6c9f,U+6caa,U+6cc9,U+6ce1,U+6cfd,U+6d1b,U+6d1e,U+6d6e,U+6de1,U+6e10,U+6e7f,U+6f5c,U+704c,U+7070,U+7089,U+70b8,U+718a,U+71c3,U+723d,U+732a,U+73cd,U+7518,U+756a,U+75af,U+75be,U+75c7,U+76d2,U+76d7,U+7763,U+78e8,U+795d,U+79df,U+7c4d,U+7d2f,U+7ee9,U+7f13,U+7f8a,U+8000,U+8010,U+80af,U+80f6,U+80f8,U+8212,U+8273,U+82f9,U+83ab,U+83b1,U+83f2,U+8584,U+871c,U+8861,U+888b,U+88c1,U+88e4,U+8bd1,U+8bf1,U+8c31,U+8d5a,U+8d75-8d76,U+8de8,U+8f85,U+8fa3,U+8fc5,U+9006,U+903c,U+904d,U+9075,U+9178,U+9274,U+950b,U+9526,U+95ea,U+9636,U+9686,U+978b,U+987f,U+9a7e,U+9b42,U+9e1f,U+9ea6,U+9f13,U+9f84,U+ff5e;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-112-400-normal.woff2) format('woff2');
  unicode-range: U+23,U+3d,U+4e01,U+4e39,U+4e73,U+4ecd,U+4ed9,U+4eea,U+4f0a,U+4f1f,U+4f5b,U+4fa0,U+4fc3,U+501f,U+50a8,U+515a,U+5175,U+51a0,U+51c0,U+51e1,U+51e4,U+5200,U+520a,U+5224,U+523a,U+52aa,U+52b1,U+52b3,U+5348,U+5353,U+5360,U+5371,U+5377,U+539a,U+541b,U+5434,U+547c,U+54e6,U+5510,U+5531,U+5609,U+56f0,U+56fa,U+5733,U+574f,U+5851,U+5854,U+5899,U+58c1,U+592e,U+5939,U+5976,U+5986,U+59bb,U+5a18,U+5a74,U+5b59,U+5b87,U+5b97,U+5ba0,U+5bab,U+5bbd-5bbe,U+5bf8,U+5c0a,U+5c3a,U+5c4a,U+5e16,U+5e1d,U+5e2d,U+5e8a,U+6015,U+602a,U+6050,U+6069,U+6162,U+61c2,U+6293,U+6297,U+62b1,U+62bd,U+62df,U+62fc,U+6302,U+635f,U+638c,U+63ed,U+6458,U+6469,U+6563,U+6620,U+6653,U+6696-6697,U+66dd,U+675f,U+676f-6770,U+67d0,U+67d3,U+684c,U+6865,U+6885,U+68b0,U+68ee,U+690d,U+6b23,U+6b32,U+6bd5,U+6c89,U+6d01,U+6d25,U+6d89,U+6da6,U+6db2,U+6df7,U+6ed1,U+6f02,U+70c8,U+70df,U+70e7,U+7126,U+7236,U+7259,U+731c,U+745e,U+74e3,U+751a,U+751c,U+7532,U+7545,U+75db,U+7761,U+7a0d,U+7b51,U+7ca4,U+7cd6,U+7d2b,U+7ea0,U+7eb9,U+7ed8,U+7f18,U+7f29,U+8033,U+804a,U+80a4-80a5,U+80e1,U+817f,U+829d,U+82e6,U+8336,U+840c,U+8499,U+864e,U+8651,U+865a,U+88ad,U+89e6,U+8bd7,U+8bfa,U+8c37,U+8d25,U+8d38,U+8ddd,U+8fea,U+9010,U+9012,U+906d,U+907f-9080,U+90d1,U+9177,U+91ca,U+94fa,U+9501,U+9634-9635,U+9694,U+9707,U+9738,U+9769,U+9a7b,U+9a97,U+9aa8,U+9b3c,U+9c81,U+9ed8;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-113-400-normal.woff2) format('woff2');
  unicode-range: U+26,U+3c,U+d7,U+4e4e,U+4e61,U+4e71,U+4ebf,U+4f26,U+5012,U+51ac,U+51b0,U+51b2,U+51b7,U+5218,U+521a,U+5220,U+5237,U+523b,U+526f,U+5385,U+53bf,U+53e5,U+53eb,U+53f3,U+53f6,U+5409,U+5438,U+54c8,U+54e5,U+552f,U+5584,U+5706,U+5723,U+5750,U+575a,U+5987-5988,U+59b9,U+59d0,U+59d4,U+5b88,U+5b9c,U+5bdf,U+5bfb,U+5c01,U+5c04,U+5c3e,U+5c4b,U+5c4f,U+5c9b,U+5cf0,U+5ddd,U+5de6,U+5de8,U+5e01,U+5e78,U+5e7b,U+5e9c,U+5ead,U+5ef6,U+5f39,U+5fd8,U+6000,U+6025,U+604b,U+6076,U+613f,U+6258,U+6263,U+6267,U+6298,U+62a2,U+62e5,U+62ec,U+6311,U+6377,U+6388-6389,U+63a2,U+63d2,U+641e,U+642d,U+654f,U+6551,U+6597,U+65cf,U+65d7,U+65e7,U+6682,U+66f2,U+671d,U+672b,U+6740,U+6751,U+6768,U+6811,U+6863,U+6982,U+6bd2,U+6cf0,U+6d0b,U+6d17,U+6d59,U+6dd8,U+6dfb,U+6e7e,U+6f6e,U+6fb3,U+706f,U+719f,U+72af,U+72d0,U+72d7,U+732b,U+732e,U+7389,U+73e0,U+7530,U+7687,U+76d6,U+76db,U+7840,U+786c,U+79cb,U+79d2,U+7a0e,U+7a33,U+7a3f,U+7a97,U+7ade-7adf,U+7b26,U+7e41,U+7ec3,U+7f3a,U+8089,U+80dc,U+811a,U+8131,U+8138,U+821e,U+8349,U+83dc,U+8457,U+867d,U+86cb,U+8a89,U+8ba8,U+8bad,U+8bef,U+8bfe,U+8c6a,U+8d1d,U+8d4f,U+8d62,U+8dd1,U+8df3,U+8f6e,U+8ff9,U+900f,U+9014,U+9057,U+9192,U+91ce,U+9488,U+94a2,U+9547,U+955c,U+95f2,U+9644,U+964d,U+96c4-96c5,U+96e8,U+96f6-96f7,U+9732,U+9759,U+9760,U+987a,U+989c,U+9910,U+996d-996e,U+9b54,U+9e21,U+9ebb,U+9f50;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-114-400-normal.woff2) format('woff2');
  unicode-range: U+7e,U+2026,U+4e03,U+4e25,U+4e30,U+4e34,U+4e45,U+4e5d,U+4e89,U+4eae,U+4ed8,U+4f11,U+4f19,U+4f24,U+4f34,U+4f59,U+4f73,U+4f9d,U+4fb5,U+5047,U+505c,U+5170,U+519c,U+51cf,U+5267,U+5356,U+5374,U+5382,U+538b,U+53e6,U+5426,U+542b,U+542f,U+5462,U+5473,U+554a,U+5566,U+5708,U+571f,U+5757,U+57df,U+57f9,U+5802,U+590f,U+591c,U+591f,U+592b,U+5965,U+5979,U+5a01,U+5a5a,U+5b63,U+5b69,U+5b81,U+5ba1,U+5ba3,U+5c3c,U+5c42,U+5c81,U+5de7,U+5dee,U+5e0c,U+5e10,U+5e55,U+5e86,U+5e8f,U+5ea7,U+5f02,U+5f52,U+5f81,U+5ff5,U+60ca,U+60e0,U+6279,U+62c5,U+62ff,U+63cf,U+6444,U+64cd,U+653b,U+65bd,U+65e9,U+665a,U+66b4,U+66fe,U+6728,U+6742,U+677e,U+67b6,U+680f,U+68a6,U+68c0,U+699c,U+6b4c,U+6b66,U+6b7b,U+6bcd,U+6bdb,U+6c38,U+6c47,U+6c49,U+6cb3,U+6cb9,U+6ce2,U+6d32,U+6d3e,U+6d4f,U+6e56,U+6fc0,U+7075,U+7206,U+725b,U+72c2,U+73ed,U+7565,U+7591,U+7597,U+75c5,U+76ae,U+76d1,U+76df,U+7834,U+7968,U+7981,U+79c0,U+7a7f,U+7a81,U+7ae5,U+7b14,U+7c89,U+7d27,U+7eaf,U+7eb3,U+7eb8,U+7ec7,U+7ee7,U+7eff,U+7f57,U+7ffb,U+805a,U+80a1,U+822c,U+82cf,U+82e5,U+8363,U+836f,U+84dd,U+878d,U+8840,U+8857,U+8863,U+8865,U+8b66,U+8bb2,U+8bda,U+8c01,U+8c08,U+8c46,U+8d1f,U+8d35,U+8d5b,U+8d5e,U+8da3,U+8ddf,U+8f93,U+8fdd,U+8ff0,U+8ff7,U+8ffd,U+9000,U+9047,U+9152,U+949f,U+94c1,U+94f6,U+9646,U+9648,U+9669,U+969c,U+96ea,U+97e9,U+987b,U+987e,U+989d,U+9970,U+9986,U+9c7c,U+9c9c;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-115-400-normal.woff2) format('woff2');
  unicode-range: U+25,U+4e14,U+4e1d,U+4e3d,U+4e49,U+4e60,U+4e9a,U+4eb2,U+4ec5,U+4efd,U+4f3c,U+4f4f,U+4f8b,U+4fbf,U+5019,U+5145,U+514b,U+516b,U+516d,U+5174,U+5178,U+517b,U+5199,U+519b,U+51b3,U+51b5,U+5207,U+5212,U+5219,U+521d,U+52bf,U+533b,U+5343,U+5347,U+534a,U+536b,U+5370,U+53e4,U+53f2,U+5403,U+542c,U+547d,U+54a8,U+54cd,U+54ea,U+552e,U+56f4,U+5747,U+575b,U+5883,U+589e,U+5931,U+5947,U+5956-5957,U+5a92,U+5b83,U+5ba4,U+5bb3,U+5bcc,U+5c14,U+5c1a,U+5c3d,U+5c40,U+5c45,U+5c5e,U+5df4,U+5e72,U+5e95,U+5f80,U+5f85,U+5fb7,U+5fd7,U+601d,U+626b,U+627f,U+62c9,U+62cd,U+6309,U+63a7,U+6545,U+65ad,U+65af,U+65c5,U+666e,U+667a,U+670b,U+671b,U+674e,U+677f,U+6781,U+6790,U+6797,U+6821,U+6838-6839,U+697c,U+6b27,U+6b62,U+6bb5,U+6c7d,U+6c99,U+6d4b,U+6d4e,U+6d6a,U+6e29,U+6e2f,U+6ee1,U+6f14,U+6f2b,U+72b6,U+72ec,U+7387,U+7533,U+753b,U+76ca,U+76d8,U+7701,U+773c,U+77ed,U+77f3,U+7814,U+793c,U+79bb,U+79c1,U+79d8,U+79ef,U+79fb,U+7a76,U+7b11,U+7b54,U+7b56,U+7b97,U+7bc7,U+7c73,U+7d20,U+7eaa,U+7ec8,U+7edd,U+7eed,U+7efc,U+7fa4,U+804c,U+8058,U+80cc,U+8111,U+817e,U+826f,U+8303,U+843d,U+89c9,U+89d2,U+8ba2,U+8bbf,U+8bc9,U+8bcd,U+8be6,U+8c22,U+8c61,U+8d22,U+8d26-8d27,U+8d8a,U+8f6f,U+8f7b,U+8f83,U+8f91,U+8fb9,U+8fd4,U+8fdc,U+9002,U+94b1,U+9519,U+95ed,U+961f,U+9632-9633,U+963f,U+968f-9690,U+96be,U+9876,U+9884,U+98de,U+9988,U+9999,U+9ec4,U+ff1b;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-116-400-normal.woff2) format('woff2');
  unicode-range: U+2b,U+40,U+3000,U+300a-300b,U+4e16,U+4e66,U+4e70,U+4e91-4e92,U+4e94,U+4e9b,U+4ec0,U+4eca,U+4f01,U+4f17-4f18,U+4f46,U+4f4e,U+4f9b,U+4fee,U+503c,U+5065,U+50cf,U+513f,U+5148,U+518d,U+51c6,U+51e0,U+5217,U+529e-529f,U+5341,U+534f,U+5361,U+5386,U+53c2,U+53c8,U+53cc,U+53d7-53d8,U+53ea,U+5404,U+5411,U+5417,U+5427,U+5468,U+559c,U+5668,U+56e0,U+56e2,U+56ed,U+5740,U+57fa,U+58eb,U+5904,U+592a,U+59cb,U+5a31,U+5b58,U+5b9d,U+5bc6,U+5c71,U+5dde,U+5df1,U+5e08,U+5e26,U+5e2e,U+5e93,U+5e97,U+5eb7,U+5f15,U+5f20,U+5f3a,U+5f62,U+5f69,U+5f88,U+5f8b,U+5fc5,U+600e,U+620f,U+6218,U+623f,U+627e,U+628a,U+62a4,U+62db,U+62e9,U+6307,U+6362,U+636e,U+64ad,U+6539,U+653f,U+6548,U+6574,U+6613,U+6625,U+663e,U+666f,U+672a,U+6750,U+6784,U+6a21,U+6b3e,U+6b65,U+6bcf,U+6c11,U+6c5f,U+6df1,U+706b,U+7167,U+724c,U+738b,U+73a9,U+73af,U+7403,U+7537,U+754c,U+7559,U+767d,U+7740,U+786e,U+795e,U+798f,U+79f0,U+7aef,U+7b7e,U+7bb1,U+7ea2,U+7ea6,U+7ec4,U+7ec6,U+7ecd,U+7edc,U+7ef4,U+8003,U+80b2,U+81f3-81f4,U+822a,U+827a,U+82f1,U+83b7,U+8425,U+89c2,U+89c8,U+8ba9,U+8bb8,U+8bc6,U+8bd5,U+8be2,U+8be5,U+8bed,U+8c03,U+8d23,U+8d2d,U+8d34,U+8d70,U+8db3,U+8fbe,U+8fce,U+8fd1,U+8fde,U+9001,U+901f-9020,U+90a3,U+914d,U+91c7,U+94fe,U+9500,U+952e,U+9605,U+9645,U+9662,U+9664,U+9700,U+9752,U+975e,U+97f3,U+9879,U+9886,U+98df,U+9a6c,U+9a8c,U+9ed1,U+9f99;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-117-400-normal.woff2) format('woff2');
  unicode-range: U+4e,U+201c-201d,U+3010-3011,U+4e07,U+4e1c,U+4e24,U+4e3e,U+4e48,U+4e50,U+4e5f,U+4e8b-4e8c,U+4ea4,U+4eab-4eac,U+4ecb,U+4ece,U+4ed6,U+4ee3,U+4ef6-4ef7,U+4efb,U+4f20,U+4f55,U+4f7f,U+4fdd,U+505a,U+5143,U+5149,U+514d,U+5171,U+5177,U+518c,U+51fb,U+521b,U+5229,U+522b,U+52a9,U+5305,U+5317,U+534e,U+5355,U+5357,U+535a,U+5373,U+539f,U+53bb,U+53ca,U+53cd,U+53d6,U+53e3,U+53f0,U+5458,U+5546,U+56db,U+573a,U+578b,U+57ce,U+58f0,U+590d,U+5934,U+5973,U+5b57,U+5b8c,U+5b98,U+5bb9,U+5bfc,U+5c06,U+5c11,U+5c31,U+5c55,U+5df2,U+5e03,U+5e38,U+5e76,U+5e94,U+5efa,U+5f71,U+5f97,U+5feb,U+6001,U+603b,U+60f3,U+611f,U+6216,U+624d,U+6253,U+6295,U+6301,U+6392,U+641c,U+652f,U+653e,U+6559,U+6599,U+661f,U+671f,U+672f,U+6761,U+67e5,U+6807,U+6837,U+683c,U+6848,U+6b22,U+6b64,U+6bd4,U+6c14,U+6c34,U+6c42,U+6ca1,U+6d41,U+6d77,U+6d88,U+6e05,U+6e38,U+6e90,U+7136,U+7231,U+7531,U+767e,U+76ee,U+76f4,U+771f,U+7801,U+793a,U+79cd,U+7a0b,U+7a7a,U+7acb,U+7ae0,U+7b2c,U+7b80,U+7ba1,U+7cbe,U+7d22,U+7ea7,U+7ed3,U+7ed9,U+7edf,U+7f16,U+7f6e,U+8001,U+800c,U+8272,U+8282,U+82b1,U+8350,U+88ab,U+88c5,U+897f,U+89c1,U+89c4,U+89e3,U+8a00,U+8ba1,U+8ba4,U+8bae-8bb0,U+8bbe,U+8bc1,U+8bc4,U+8bfb,U+8d28,U+8d39,U+8d77,U+8d85,U+8def,U+8eab,U+8f66,U+8f6c,U+8f7d,U+8fd0,U+9009,U+90ae,U+90fd,U+91cc-91cd,U+91cf,U+95fb,U+9650,U+96c6,U+9891,U+98ce,U+ff1f;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-118-400-normal.woff2) format('woff2');
  unicode-range: U+d,U+3e,U+5f,U+7c,U+a0,U+a9,U+4e09-4e0b,U+4e0d-4e0e,U+4e13,U+4e1a,U+4e2a,U+4e3a-4e3b,U+4e4b,U+4e86,U+4e8e,U+4ea7,U+4eba,U+4ee4-4ee5,U+4eec,U+4f1a,U+4f4d,U+4f53,U+4f5c,U+4f60,U+4fe1,U+5165,U+5168,U+516c,U+5173,U+5176,U+5185,U+51fa,U+5206,U+5230,U+5236,U+524d,U+529b,U+52a0-52a1,U+52a8,U+5316,U+533a,U+53cb,U+53d1,U+53ef,U+53f7-53f8,U+5408,U+540c-540e,U+544a,U+548c,U+54c1,U+56de,U+56fd-56fe,U+5728,U+5730,U+5907,U+5916,U+591a,U+5927,U+5929,U+597d,U+5982,U+5b50,U+5b66,U+5b89,U+5b9a,U+5b9e,U+5ba2,U+5bb6,U+5bf9,U+5c0f,U+5de5,U+5e02,U+5e73-5e74,U+5e7f,U+5ea6,U+5f00,U+5f0f,U+5f53,U+5f55,U+5fae,U+5fc3,U+6027,U+606f,U+60a8,U+60c5,U+610f,U+6210-6211,U+6237,U+6240,U+624b,U+6280,U+62a5,U+63a5,U+63a8,U+63d0,U+6536,U+6570,U+6587,U+65b9,U+65e0,U+65f6,U+660e,U+662d,U+662f,U+66f4,U+6700,U+670d,U+672c,U+673a,U+6743,U+6765,U+679c,U+682a,U+6b21,U+6b63,U+6cbb,U+6cd5,U+6ce8,U+6d3b,U+70ed,U+7247-7248,U+7269,U+7279,U+73b0,U+7406,U+751f,U+7528,U+7535,U+767b,U+76f8,U+770b,U+77e5,U+793e,U+79d1,U+7ad9,U+7b49,U+7c7b,U+7cfb,U+7ebf,U+7ecf,U+7f8e,U+8005,U+8054,U+80fd,U+81ea,U+85cf,U+884c,U+8868,U+8981,U+89c6,U+8bba,U+8bdd,U+8bf4,U+8bf7,U+8d44,U+8fc7,U+8fd8-8fd9,U+8fdb,U+901a,U+9053,U+90e8,U+91d1,U+957f,U+95e8,U+95ee,U+95f4,U+9762,U+9875,U+9898,U+9996,U+9ad8,U+ff01,U+ff08-ff09;
}
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/noto-serif-sc-119-400-normal.woff2) format('woff2');
  unicode-range: U+20-22,U+27-2a,U+2c-3b,U+3f,U+41-4d,U+4f-5d,U+61-7b,U+7d,U+ab,U+ae,U+b2,U+b7,U+bb,U+df-e5,U+e7-ea,U+ec-ed,U+f1-f4,U+f6,U+f9-fa,U+fc,U+101,U+103,U+113,U+12b,U+148,U+14d,U+16b,U+1ce,U+1d0,U+300-301,U+1ebf,U+1ec7,U+2013-2014,U+2022,U+2027,U+2039-203a,U+2122,U+3001-3002,U+3042,U+3044,U+3046,U+3048,U+304a-3055,U+3057,U+3059-305b,U+305d,U+305f-3061,U+3063-306b,U+306d-3073,U+3075-3076,U+3078-3079,U+307b,U+307e-307f,U+3081-308d,U+308f,U+3092-3093,U+30a1-30a4,U+30a6-30bb,U+30bd,U+30bf-30c1,U+30c3-30c4,U+30c6-30cb,U+30cd-30d7,U+30d9-30e1,U+30e3-30e7,U+30e9-30ed,U+30ef,U+30f3,U+30fb-30fc,U+3127,U+4e00,U+4e2d,U+65b0,U+65e5,U+6708-6709,U+70b9,U+7684,U+7f51,U+ff0c,U+ff0e,U+ff1a;
}

/* ============================================================
   易企检 宣传官网 · 「检验报告」编辑风
   设计语言：一份盖了章的正式检测报告
   纸感底色 / 宋体标题 / 细规则线 / 等宽数字 / 印泥红强调
   零依赖：仅系统字体，离线可用
   ============================================================ */
:root{
  --paper:#f5f7f6;
  --paper-2:#edf1ef;
  --ink:#17201e;
  --ink-2:#2a332f;
  --muted:#4a5551;
  --line:#d5ddd9;
  --line-strong:#9daba5;
  --red:#b4232a;
  --red-deep:#8f1d22;
  --red-wash:rgba(180,35,42,.07);
  --accent:#0e5748;
  --accent-deep:#0b463a;
  --accent-wash:rgba(14,87,72,.08);
  --dark:#13201c;
  --paper-on-dark:#e7edea;
  --muted-on-dark:#a3b5ae;
  --serif:"Noto Serif SC","Songti SC","STSong","SimSun","NSimSun",serif;
  --sans:"Microsoft YaHei","PingFang SC","Segoe UI",system-ui,sans-serif;
  --mono:Consolas,"Courier New",ui-monospace,"Noto Serif SC",monospace;
  --w:1140px;
  --line-on-dark:rgba(231,237,234,.16);
  --line-strong-on-dark:rgba(231,237,234,.45);
  /* 字号标度：11/12/13/14/15/17/18/20/24/26/32/38/42（微注 11–13 · 正文 15 · 强调 17 · 导语 18） */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);line-height:1.9;font-size:16px;
  font-family:var(--sans);font-kerning:normal;
  background:var(--paper);
  background-image:
    linear-gradient(rgba(23,32,30,.052) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,32,30,.038) 1px, transparent 1px);
  background-size:100% 36px,64px 100%;
}
/* 鼠标跟随的网格显影：光圈内网格略深，模拟灯光扫过方格纸（仅精确指针设备，触屏与低动效环境自动关闭） */
.grid-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background-image:
    linear-gradient(rgba(23,32,30,.115) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,32,30,.085) 1px, transparent 1px);
  background-size:100% 36px,64px 100%;
  -webkit-mask-image:radial-gradient(260px 260px at var(--gx,50%) var(--gy,38%), rgba(0,0,0,.95), transparent 72%);
  mask-image:radial-gradient(260px 260px at var(--gx,50%) var(--gy,38%), rgba(0,0,0,.95), transparent 72%)}
.grid-glow.on{opacity:1}
@media (prefers-reduced-motion:reduce){.grid-glow{display:none}}
/* !important 用于压制外部会话反复回写的旧媒体查询覆盖（历史遗留 .wrap{padding:0 24px}）——
   但只许加在「左右」上：原先写成 padding 简写 + !important，会把 .foot-grid/.cta-in/.hero-grid/
   .page-head-in/.foot-end 这些修饰类声明的上下内边距一并清零（实测 pt/pb 全为 0），
   导致整站纵向留白塌陷、文字贴住上一板块。横向照旧受保护，纵向还给修饰类。 */
.wrap{max-width:var(--w);margin:0 auto;padding-left:clamp(28px,4.5vw,56px)!important;padding-right:clamp(28px,4.5vw,56px)!important}
[id]{scroll-margin-top:92px} /* 锚点定位时避开吸顶导航 */
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}

/* ---------- 顶栏：报告抬头 ---------- */
.site-head{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--ink)}
.head-in{display:flex;align-items:stretch;justify-content:space-between;min-height:66px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-name{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:6px;margin-right:-6px} /* 负边距补偿末字后字距 */
.brand-sub{display:flex;flex-direction:column;justify-content:center;gap:1px;padding-left:12px;border-left:1px solid var(--line-strong)}
.brand-sub b{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:600}
.brand-sub span{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:1px}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a{color:var(--ink-2);text-decoration:none;font-size:15px;letter-spacing:2px;position:relative;padding:4px 0}
.site-nav a:not(.nav-cta):hover{color:var(--accent)}
.site-nav a.on{color:var(--accent)}
.site-nav a.on::before{content:"";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:26px;height:3px;background:var(--accent)}
.nav-cta{background:var(--accent);border:1px solid var(--accent);color:#fff !important;padding:7px 16px 7px 18px !important;transition:.2s}
.nav-cta:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0}

/* ---------- 按钮：方角，公文风（左右内边距差 = 末字字距，保证视觉居中） ---------- */
.btn{display:inline-block;background:var(--accent);color:#fff;padding:13px 30px 13px 34px;text-decoration:none;
  font-size:15px;letter-spacing:4px;border:1px solid var(--accent);transition:.22s cubic-bezier(.16,1,.3,1);cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);letter-spacing:5px;padding:13px 29px 13px 34px}
.btn-line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper);letter-spacing:5px;padding:13px 29px 13px 34px}

/* ---------- Hero：报告头 ---------- */
.hero{border-bottom:1px solid var(--ink)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:56px;padding:64px 0 48px;align-items:stretch} /* stretch：右图上下边与左栏文字平齐 */
.ph-grid .ph-copy h1{font-size:clamp(38px,4.4vw,54px)} /* 左列较旧版收窄，标题字号随之降档防断行 */
.hero-kicker{font-family:var(--mono);font-size:12px;letter-spacing:3px;color:var(--muted);margin:0 0 26px;display:flex;align-items:center;gap:14px}
.hero-kicker::before{content:"";width:34px;height:1px;background:var(--accent)}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.8vw,64px);line-height:1.24;margin:0 0 30px;letter-spacing:2px}
.hero h1 .red{color:var(--accent)}
.hero-sub{font-size:18px;color:var(--ink-2);max-width:34em;margin:0 0 40px}
/* 右侧元信息栏：报告头式 */
/* 参数栏 → 产品档案卡（方角 1px 墨线卡 + 行图标 + 数值强调；768/760 另有适配） */
/* 页头档案数据条（替代旧 meta-col 参数栏） */
.ph-copy{min-width:0}
.ph-strip{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;margin:32px 0 0;border-top:1px solid var(--line-strong)}
.ph-strip .it{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line)}
.ph-strip .it:nth-last-child(-n+2){border-bottom:0}
.ph-strip .it b{font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:1.5px;color:var(--muted);white-space:nowrap}
.ph-strip .it span{font-family:var(--serif);font-size:16px;letter-spacing:.5px;color:var(--ink);line-height:1.55} /* ≥16px：避开 SimSun ≤16px 内嵌点阵 */
.ph-fig{margin:0;min-width:0}
.ph-fig img{display:block;width:100%;height:100%;object-fit:fill} /* 拉伸填满，与文字列严格等高 */

/* ---------- 墨底数据带 ---------- */
.stats-band{background:var(--dark);color:var(--paper-on-dark)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:44px 30px;border-left:1px solid var(--line-on-dark)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.2;letter-spacing:1px}
.stat b i{font-style:normal;color:var(--accent);font-family:var(--mono);font-size:.55em;vertical-align:baseline;margin-left:2px}
.stat span{display:block;margin-top:8px;font-size:13px;letter-spacing:3px;color:var(--muted-on-dark)}

/* ---------- 区块骨架 ---------- */
.section{padding:64px 0}
.section.tight{padding:48px 0}
.section+.section{padding-top:0} /* 相邻区块自动收口，替代逐页内联补丁 */
.sec-head{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;margin-bottom:44px;align-items:start}
.sec-no{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:var(--muted);padding-top:12px;line-height:2;word-break:keep-all}
.sec-no b{display:block;color:var(--accent);font-size:26px;font-weight:400;letter-spacing:0;line-height:1;margin-bottom:8px;font-family:var(--serif)}
.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,42px);line-height:1.35;margin:0;letter-spacing:2px}
.sec-lead{color:var(--muted);margin:14px 0 0;max-width:38em;font-size:15px}

/* ---------- 价值清单：行式，无卡片（行规范：左右内边距 6px，行标题 20px） ---------- */
.rows{border-top:1px solid var(--ink)}
.row-item{display:grid;grid-template-columns:64px 240px minmax(0,1fr) 210px;gap:26px;align-items:baseline;
  padding:26px 6px;border-bottom:1px solid var(--line);transition:background .25s}
.row-item:hover{background:var(--accent-wash)}
.row-item .no{font-family:var(--mono);font-size:14px;color:var(--muted)}
.row-item h3{font-family:var(--serif);font-weight:400;font-size:20px;margin:0;letter-spacing:2px}
.row-item p{margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.row-item .tag{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--accent);text-align:right;align-self:center}
.row-item .tag em{font-style:normal;display:inline-block;border:1px solid rgba(14,87,72,.45);padding:3px 10px}

/* ---------- 流程：一条线 8 站 ---------- */
.flowline{position:relative;margin-top:10px}
.flowline::before{content:"";position:absolute;left:0;right:calc(100%/8);top:11px;height:1px;background:var(--line-strong)} /* 线止于末站，不留悬空段 */
.flow-steps{display:grid;grid-template-columns:repeat(8,1fr);position:relative}
.fstep{padding-top:30px;position:relative;text-align:left}
.fstep::before{content:"";position:absolute;top:6px;left:0;width:11px;height:11px;background:var(--paper);border:1.5px solid var(--ink);border-radius:50%}
.fstep:first-child::before{background:var(--accent);border-color:var(--accent)}
.fstep i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);display:block;margin-bottom:4px}
.fstep b{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:1px;display:block}
.flow-note{margin-top:36px;color:var(--muted);font-size:15px;display:flex;gap:14px;align-items:baseline}
.flow-note::before{content:"※";color:var(--accent);font-family:var(--serif)}

/* ---------- 目录式功能总览 ---------- */
.toc{display:grid;grid-template-columns:1fr 1fr;gap:0 72px;border-top:1px solid var(--ink)}
.toc a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:16px;align-items:baseline;
  text-decoration:none;color:var(--ink);padding:22px 6px;border-bottom:1px solid var(--line);transition:.2s}
.toc a:hover{background:var(--accent-wash)}
.toc a:hover .t-name{color:var(--accent)}
.toc .t-no{font-family:var(--mono);font-size:13px;color:var(--muted)}
.toc .t-name{font-family:var(--serif);font-size:20px;letter-spacing:2px;transition:.2s}
.toc .t-desc{grid-column:2;font-size:13px;color:var(--muted);margin-top:2px}
.toc .t-page{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:1px}

/* ---------- 墨底 CTA ---------- */
.cta-band{background:var(--dark);color:var(--paper-on-dark)}
.cta-in{padding:72px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px 64px}
.cta-in h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.2vw,52px);margin:0 0 14px;letter-spacing:3px}
.cta-in h2 .red{color:var(--accent)}
.cta-in p{color:var(--muted-on-dark);margin:0;font-size:15px}
/* 单一行动入口：描边箭头链，作腰封落款而非按钮组 */
.cta-acts{justify-self:end}
.cta-link{display:inline-flex;align-items:center;gap:14px;color:var(--paper-on-dark);text-decoration:none;border:1px solid var(--line-strong-on-dark);padding:16px 24px 16px 28px;font-size:16px;letter-spacing:4px;transition:.22s}
.cta-link::after{content:"→";font-family:var(--mono);color:var(--accent);transition:transform .22s}
.cta-link:hover{border-color:var(--paper-on-dark);background:rgba(231,237,234,.08)}
.cta-link:hover::after{transform:translateX(6px)}

/* ---------- 页头（内页）：文件头式 ---------- */
.page-head{border-bottom:1px solid var(--ink)}

.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.8vw,64px);line-height:1.24;margin:0 0 30px;letter-spacing:2px}
.page-head .ph-sub{color:var(--ink-2);font-size:18px;max-width:34em;margin:0 0 40px}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:3px;color:var(--muted);margin:0 0 26px}
.crumb::before{content:"";display:inline-block;width:34px;height:1px;background:var(--accent);vertical-align:middle;margin-right:14px}
.crumb b{color:var(--accent);font-weight:400}

/* 资讯内页页头：页头与正文必须用同一个容器宽度（1140px），靠内部元素宽度对齐左缘。
   踩过的坑：曾把页头单独收窄到 908px，结果两个容器宽度不同、各自居中，
   页头左缘落在 315px 而正文左缘在 199px，反向错位 116px，比不改更糟。
   现在做法：页头 .wrap 保持 1140 不动，只让 h1/crumb/meta 的 max-width = 796px
   （= 正文栏实得宽度），三者与正文左缘天然同一起点。 */
.page-head--article h1,.page-head--article .crumb,.page-head--article .article-meta{max-width:796px}

/* ---------- 内页双栏 ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,42px);line-height:1.35;margin:0 0 22px;letter-spacing:2px} /* 与 .section h2 同标度，避免同屏双级 */
.prose p{color:var(--ink-2);margin:0 0 18px;font-size:15px}
.prose p .drop{font-family:var(--serif);font-size:3.2em;line-height:1;float:left;padding:6px 10px 0 0;color:var(--accent)}

/* 理念：编号行 */
.ideas{border-top:1px solid var(--ink)}
.idea{display:grid;grid-template-columns:44px 110px minmax(0,1fr);gap:18px;padding:24px 6px;border-bottom:1px solid var(--line);align-items:baseline;word-break:keep-all}
.idea i{font-style:normal;font-family:var(--mono);font-size:13px;color:var(--muted)}
.idea b{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:2px;color:var(--accent)}
.idea p{margin:0;color:var(--muted);font-size:14px}

/* 大数字（关于页） */
.figures{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.fig{padding:34px 30px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.fig b{display:block;font-family:var(--serif);font-weight:400;font-size:38px;letter-spacing:1px}
.fig b i{font-style:normal;color:var(--accent);font-family:var(--mono);font-size:.5em}
.fig p{margin:6px 0 0;color:var(--muted);font-size:14px}

/* ---------- 价格：报价单 ---------- */
/* 版本票据式三栏 */
.versions{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:stretch}
.ver{border:1px solid var(--ink);padding:38px 32px 30px;position:relative;background:var(--paper);margin-right:-1px;display:flex;flex-direction:column}
.ver:last-child{margin-right:0}
.ver.hot{background:var(--ink);color:var(--paper-on-dark);z-index:2}
.ver h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 4px;letter-spacing:3px}
.ver .for{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--muted);margin-bottom:22px}
.ver.hot .for{color:var(--muted-on-dark)}
/* 定价陈述字：模糊定价不报数，用宋体陈述保住报价单的仪式感 */
.ver .price-num{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:2px;line-height:1.3;margin-bottom:6px;color:var(--ink)}
.ver.hot .price-num{color:var(--paper-on-dark)}
.ver ul{list-style:none;margin:20px 0 28px;padding:18px 0 0;border-top:1px dashed var(--line-strong);flex:1}
.ver.hot ul{border-top-color:var(--line-strong-on-dark)}
.ver li{position:relative;padding:7px 0 7px 22px;font-size:14px;color:var(--ink-2)}
.ver.hot li{color:var(--paper-on-dark)}
.ver li::before{content:"";position:absolute;left:0;top:17px;width:10px;height:1.5px;background:var(--accent)}
.ver .btn,.ver .btn-line{align-self:flex-start}
/* 推荐章 */
.seal{position:absolute;top:-26px;right:22px;transform:rotate(-7deg);border:2.5px solid var(--red);color:var(--red);
  font-family:var(--serif);font-size:19px;letter-spacing:6px;padding:7px 14px 7px 20px;background:var(--paper);
  box-shadow:0 0 0 3px var(--paper), inset 0 0 0 1px rgba(180,35,42,.35);pointer-events:none}
.ver.hot .seal{background:var(--dark);box-shadow:0 0 0 3px var(--dark), inset 0 0 0 1px rgba(180,35,42,.55)}

/* 通用表格（报价单正文） */
.tbl-wrap{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:600px}
.tbl th{font-family:var(--serif);font-weight:400;text-align:left;letter-spacing:2px;font-size:17px;
  padding:16px 14px;border-bottom:1px solid var(--ink);white-space:nowrap}
.tbl td{padding:15px 14px;border-bottom:1px dashed var(--line);color:var(--ink-2);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-family:var(--serif);font-size:17px;letter-spacing:1px;color:var(--ink);white-space:nowrap}
.tbl .num{font-family:var(--mono);letter-spacing:.5px;white-space:nowrap}
.tbl .num.red{color:var(--accent)}
.tbl-note{color:var(--muted);font-size:13px;margin-top:12px}

/* 交付条款三栏 */
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.term{padding:30px 28px 34px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.term:first-child{border-left:0}
.term i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--accent);display:block;margin-bottom:14px}
.term h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 12px;letter-spacing:2px}
.term p{margin:0;color:var(--muted);font-size:14px}

/* ---------- 联系页 ---------- */
.contact-rows{border-top:1px solid var(--ink)}
.c-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;padding:22px 6px;border-bottom:1px solid var(--line);align-items:baseline}
.c-row b{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:3px;color:var(--muted)}
.c-row span{font-family:var(--mono);font-size:16px;letter-spacing:.5px;color:var(--ink)}
.c-row .note{font-family:var(--sans);font-size:13px;color:var(--muted);margin-left:12px}

/* 表单：单线输入 */
.contact-form{display:flex;flex-direction:column;gap:26px}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--serif);font-size:17px;letter-spacing:3px;color:var(--ink-2)}
.contact-form input,.contact-form select,.contact-form textarea{
  border:0;border-bottom:1px solid var(--line-strong);border-radius:0;padding:9px 2px;font-size:16px;
  font-family:var(--sans);background:transparent;color:var(--ink);transition:border-color .2s}
.contact-form select{appearance:none;-webkit-appearance:none;padding-right:26px;cursor:pointer;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230e5748' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 6px center/10px 6px} /* 自绘箭头，替换原生样式 */
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:none;border-bottom-color:var(--accent)}
.contact-form ::placeholder{color:var(--muted);opacity:.7}
.contact-form textarea{resize:vertical;border:1px solid var(--line-strong);padding:12px}
.form-note{color:var(--muted);font-size:13px;margin:0}

/* ---------- 报价需求单 ---------- */
.quote-form .fsec{border-top:1px solid var(--ink);padding-top:16px;margin-top:30px}
.quote-form .fsec>b{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:2px;color:var(--accent);display:block;margin-bottom:20px}
.quote-form .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}
.quote-form .full{grid-column:1/-1}
.quote-form .checks{display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:4px}
.quote-form .checks label{flex-direction:row;align-items:center;gap:9px;font-family:var(--sans);font-size:14px;letter-spacing:0;color:var(--ink-2);cursor:pointer;font-weight:400}
.quote-form input[type=checkbox],.quote-form input[type=radio]{accent-color:var(--accent);width:16px;height:16px;flex:none;border:0;padding:0}
.quote-form .req{color:var(--red);margin-left:2px}
.quote-form .opt{font-family:var(--sans);font-size:12px;color:var(--muted);letter-spacing:0;margin-left:8px}
@media (max-width:760px){.quote-form .fgrid{grid-template-columns:1fr}}

/* ---------- 页脚：落款 ---------- */
.site-foot{border-top:1px solid var(--ink);margin-top:0}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:56px;padding:72px 0 56px}
.foot-brand .brand{text-decoration:none}
.foot-brand .brand-name{font-size:28px}
.foot-brand p{color:var(--muted);font-size:14px;margin:16px 0 0;max-width:28em}
/* 品牌栏参数栏：补足左栏高度，与右侧「站内导航」5 项等高（领域/部署/交付三行事实） */
.foot-facts{margin:14px 0 0;padding:0;max-width:28em;font-size:14px}
.foot-facts>div{padding:5px 0;border-bottom:1px dashed var(--line)}
.foot-facts>div:last-child{border-bottom:0}
.foot-facts dt{display:inline;font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted);margin-right:10px}
.foot-facts dd{display:inline;margin:0;font-size:14px;color:var(--ink-2)}
.foot-col b{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:2px;color:var(--muted);margin-bottom:16px}
.foot-col a{display:block;color:var(--ink-2);text-decoration:none;font-size:14px;padding:5px 0}
.foot-col a:hover{color:var(--accent)}
.foot-col span{color:var(--muted);font-size:14px;display:block;padding:5px 0}
.foot-col span a{display:inline;padding:0} /* 电话链接保持行内，不拆断「电话：号码（备注）」 */
.foot-col .num{font-family:var(--mono)}
.foot-end{border-top:1px solid var(--line);padding:20px 0 24px;display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.foot-end p{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted)}
.site-foot .beian{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted)}
.site-foot .beian a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.site-foot .beian a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- 滚动浮现 ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* 前庭敏感用户：关闭动效与平滑滚动 */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.btn:hover,.cta-link,.cta-link::after,.row-item,.toc a,.toc .t-name,.nav-cta{transition:none}
}

@media (max-width:1080px){
  .foot-end{flex-direction:column;align-items:center;text-align:center;row-gap:6px;padding:16px 0 20px}
  .foot-end p{white-space:normal;letter-spacing:.5px} /* 窄屏收字距，避免落款孤字断行 */
}
/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .row-item{grid-template-columns:44px 180px minmax(0,1fr);row-gap:6px}
  .row-item .tag{grid-column:3;text-align:left}
  .ph-grid{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:44px}
  .flow-steps{grid-template-columns:repeat(4,1fr);row-gap:30px}
  .flowline::before{display:none}
  .duo{grid-template-columns:1fr;gap:44px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{overflow-x:hidden}
  .wrap{padding-left:20px!important;padding-right:20px!important} /* 原 clamp 最小 28px 偏宽，窄屏收至 20px 扩容文字区 */

  /* 顶栏：收紧品牌区，防挤压 */
  .head-in{min-height:60px;gap:12px}
  .brand-name{font-size:21px;letter-spacing:4px}
  .brand-sub{padding-left:10px}
  .brand-sub b{font-size:10px;letter-spacing:2px}
  .brand-sub span{display:none}
  .nav-toggle{display:block;padding:8px 2px}
  .site-nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:flex-start;
    background:var(--paper);border-bottom:1px solid var(--ink);padding:16px clamp(28px,4.5vw,56px) 20px;gap:14px}
  .site-nav.open{display:flex}
  .site-nav a.on::before{bottom:-6px}
  .site-nav .nav-cta{padding:9px 16px 9px 18px !important}
  [id]{scroll-margin-top:72px}

  /* 按钮：触控友好（左右内边距差 = 末字字距） */
  .btn{padding:12px 19px 12px 22px;letter-spacing:3px}

  /* Hero：字号随屏收，防溢出 */
  .ph-grid{grid-template-columns:1fr;gap:30px;padding:44px 0 40px}
  .ph-fig{max-width:460px}
  .ph-fig img{height:auto} /* 单列布局恢复原始比例 */
  .ph-strip{column-gap:22px;margin-top:26px}
  .ph-strip .it{gap:12px}
  .hero h1{font-size:clamp(29px,8.6vw,42px);letter-spacing:1px;margin-bottom:20px}
  .hero-sub{font-size:15px;margin-bottom:22px}
  .hero-kicker{flex-wrap:wrap;gap:10px;margin-bottom:18px}
  .hero-kicker::before{width:22px}
  /* 页脚：参数栏 dt/dd 两列对齐；站内导航两列压缩高度 */
  .foot-facts>div{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:14px;align-items:baseline;padding:5px 0}
  .foot-facts dt,.foot-facts dd{display:block}
  .foot-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;align-content:start}
  .foot-nav b{grid-column:1/-1}
  .foot-nav a{padding:4px 0}

  /* 数据带：2 列，只给第二行加分隔线 */
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat{border-left:0;padding:24px 16px}
  .stat:nth-child(n+3){border-top:1px solid var(--line-on-dark)}

  /* 区块骨架：收紧垂直节奏 */
  .section{padding:40px 0}
  .section.tight{padding:32px 0}
  .sec-head{grid-template-columns:1fr;gap:10px;margin-bottom:32px}
  .sec-no{padding-top:0}
  .page-head h1{font-size:clamp(29px,8.6vw,42px);letter-spacing:1px;margin-bottom:20px}
  .page-head .ph-sub{font-size:15px;margin-bottom:28px}
  .crumb{margin-bottom:18px}
  .crumb::before{width:22px;margin-right:10px}

  /* 价值清单：序号+标题同行，正文独立成行 */
  .row-item{grid-template-columns:44px minmax(0,1fr);gap:12px 14px;padding:22px 6px}
  .row-item h3{grid-column:2;font-size:19px}
  .row-item p{grid-column:2}
  .row-item .tag{grid-column:2;justify-self:start}
  .row-item .tag em{padding:2px 8px}

  /* 流程：两列网格 */
  .flow-steps{grid-template-columns:1fr 1fr;row-gap:22px}
  .flow-note{margin-top:24px;font-size:14px}

  /* 目录：隐藏页码列，两列变一列 */
  .toc{grid-template-columns:1fr;gap:0}
  .toc a{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 6px}
  .toc .t-page{display:none}
  .toc .t-name{font-size:18px}

  /* 理念行：窄屏降两列，标题与正文各自成行 */
  .idea{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:20px 6px}
  .idea b{grid-column:2}
  .idea p{grid-column:2}

  /* 大数字：2 列收 padding */
  .fig{padding:22px 18px}
  .fig b{font-size:28px}
  .fig p{font-size:13px}

  /* 价格：单列堆叠 + 印章不再压到上一张卡 */
  .versions{grid-template-columns:1fr}
  .ver{margin-right:0;padding:28px 20px 24px}
  .ver + .ver{margin-top:14px}
  .seal{top:-13px;right:14px;font-size:15px;letter-spacing:4px;padding:4px 10px 4px 14px}
  .terms{grid-template-columns:1fr}
  .term{border-left:0;padding:22px 6px}

  /* 表格：横滚更顺滑 */
  .tbl-wrap{-webkit-overflow-scrolling:touch}
  .tbl{min-width:560px}
  .tbl-note{font-size:12px}

  /* 联系页 */
  .c-row{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:18px 6px}
  .c-row b{letter-spacing:2px}
  .c-row .note{display:block;margin-left:0;margin-top:2px}
  .contact-form label{letter-spacing:1px}
  .quote-form .fgrid{grid-template-columns:1fr;gap:20px}
  .quote-form .checks{gap:10px 18px}

  /* CTA 与页脚 */
  .cta-in{grid-template-columns:1fr;padding:60px 0;gap:26px}
  .cta-acts{justify-self:stretch}
  .cta-link{width:100%;justify-content:center;padding:13px 10px}
  .cta-in h2{font-size:clamp(26px,7.2vw,38px);letter-spacing:2px}
  .foot-grid{grid-template-columns:1fr;gap:20px;padding:42px 0 32px}
  .foot-brand .brand-name{font-size:26px}
  .foot-brand p{font-size:14px}
  .foot-col{padding-bottom:14px;border-bottom:1px dashed var(--line)}
  .foot-col:last-child{padding-bottom:0;border-bottom:0}
  .foot-col b{margin-bottom:10px}
  .foot-col a{font-size:15px;padding:5px 0}
  .foot-col span{font-size:15px;padding:5px 0}
}
@media (max-width:400px){
  .brand-sub{display:none}
  .btn{padding:11px 14px 11px 16px;letter-spacing:2px}
}

/* ---------- P0 转化组件：电话链接 / 微信入口 / 表单反馈 / 移动端CTA栏 ---------- */
.tel-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-strong);transition:.2s}
.tel-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
.wx-open{background:none;border:0;padding:0;cursor:pointer;font-family:var(--mono);font-size:16px;
  letter-spacing:.5px;color:var(--accent);border-bottom:1px solid var(--accent);transition:.2s}
.wx-open:hover{color:var(--red-deep);border-bottom-color:var(--red-deep)}

/* 表单校验反馈 */
.quote-form .is-invalid input{border-bottom-color:var(--red)}
.f-err{display:none;color:var(--red);font-size:12px;letter-spacing:1px;margin-top:6px}
.is-invalid .f-err{display:block}

/* 蜜罐字段：反机器人，人不可见（读屏也不播报） */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* 提交成功态：印章风 */
.quote-done{border:1px solid var(--ink);background:var(--red-wash);padding:48px 34px;text-align:center}
.qd-seal{width:68px;height:68px;color:var(--red)}
.quote-done h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:4px;margin:18px 0 12px}
.quote-done p{color:var(--ink-2);margin:0 0 8px;font-size:15px}
.quote-done .qd-alt{color:var(--muted);font-size:14px}
.quote-done .btn{margin-top:20px}

/* 微信咨询弹窗 */
.wx-mask{position:fixed;inset:0;z-index:70;background:rgba(19,32,28,.55);display:none;
  align-items:center;justify-content:center;padding:24px}
.wx-mask.open{display:flex}
.wx-card{background:var(--paper);border:1px solid var(--ink);padding:36px 30px 26px;max-width:320px;width:100%;
  text-align:center;position:relative;box-shadow:0 0 0 4px var(--paper),0 18px 50px rgba(19,32,28,.4)}
.wx-close{position:absolute;top:8px;right:12px;background:none;border:0;cursor:pointer;
  font-size:22px;line-height:1;color:var(--muted);padding:6px}
.wx-close:hover{color:var(--ink)}
.wx-title{font-family:var(--serif);font-size:20px;letter-spacing:4px;margin:0 0 18px}
.wx-qr{width:190px;height:190px;margin:0 auto;color:var(--ink)}
.wx-qr svg{width:100%;height:100%;shape-rendering:crispEdges}
.wx-qr img{width:100%;height:100%;display:block;object-fit:cover;background:#fff}
.wx-caption{font-size:12px;color:var(--muted);letter-spacing:1px;margin:12px 0 0}
.wx-sub{font-size:13px;color:var(--muted);margin:10px 0 0}
.wx-sub a{color:var(--ink)}

/* 电话咨询弹窗（桌面端悬浮栏触发）：大号等宽数字 + 一键复制 */
.tel-num{font-family:var(--mono);font-size:26px;letter-spacing:2px;margin:8px 0 16px;color:var(--ink)}
.tel-copy{display:block;margin:0 auto;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;
  padding:11px 28px;font-family:var(--sans);font-size:13px;letter-spacing:2px;transition:.2s}
.tel-copy:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.tel-copy.ok{background:var(--ink);border-color:var(--ink)}
.tel-copy.bad{background:var(--red);border-color:var(--red)}

/* 移动端底部 CTA 栏（仅 ≤760px 显示，由 main.js 注入） */
.m-cta-bar{display:none}
@media (max-width:760px){
  body.has-m-cta{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .m-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:var(--paper);border-top:1px solid var(--ink)}
  .m-cta-bar a,.m-cta-bar button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
    text-decoration:none;font-size:14px;letter-spacing:2px;padding:12px 0;
    border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--sans)}
  .m-cta-bar a.primary{background:var(--accent);border-color:var(--accent);color:#fff}
  .m-cta-bar svg{width:15px;height:15px;flex:none}
}

/* 桌面端右侧悬浮栏（仅 >760px 显示，由 main.js 注入；移动端隐藏，底部 CTA 栏保持不变） */
.side-rail{display:none}
@media (min-width:761px){
  .side-rail{position:fixed;right:18px;bottom:110px;z-index:55;display:flex;flex-direction:column;gap:8px}
  .side-rail a,.side-rail button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;padding:0;transition:.2s;
    text-decoration:none;font-family:var(--sans)}
  .side-rail a:hover,.side-rail button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
  .side-rail .wx-open{border-color:var(--accent);color:var(--accent)}
  .side-rail .wx-open:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .side-rail svg{width:17px;height:17px}
}

/* 首页常见问题（原生 details/summary，报告风细规则线；行规范与清单组件对齐：左右 6px） */
.faq-list{border-top:1px solid var(--ink)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:14px;
  padding:18px 6px;font-family:var(--serif);font-size:17px;color:var(--ink);transition:.2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-family:var(--sans);color:var(--accent);
  font-size:20px;line-height:1;transition:.2s;flex:none}
.faq[open] summary::after{content:"−"}
.faq summary:hover{color:var(--accent)}
.faq-a{padding:0 6px 20px;font-size:14px;line-height:1.9;color:var(--ink-2);max-width:820px}
/* ==== 章节配图（自绘 SVG 插图系统；图内自带外框与编号章，容器只做图注） ==== */
.figure{margin:60px 0 8px;background:var(--paper)}
.figure .fig-media{display:block;width:100%;height:auto}
.figure figcaption{display:flex;gap:14px;align-items:baseline;padding:11px 16px;background:var(--paper-2)}
.fig-cap{font-size:13px;line-height:1.75;color:var(--muted);letter-spacing:.04em}
@media (max-width:760px){
  .figure{margin:42px 0 6px}
  .figure figcaption{padding:9px 12px}
  .fig-cap{font-size:12px}
}
/* ==== 官网品牌区 BEGIN（由 apply_site_logo.py 维护，请勿手改） ==== */
/* ---------- 品牌区：定稿横版组合「页眉版」（方案 C「勾替数据行」） ----------
   用官方组合文件当图片，页面不自行拼装 —— 拼装版的比例与基线对不齐。
   页眉版不含 SUJIAN LAB 副标（该尺寸下副标仅 4px，会糊成一条脏线）。
   组合由 品牌资产/_tools/generate_logo.py 生成（build_lockup 的 sub=False）。
   源文件：品牌资产/dist/lockup-h-head.svg
   ------------------------------------------------------------- */
.brand-lockup{display:block;height:24px;width:auto;flex:none}
@media (max-width:760px){.brand-lockup{height:22px}}
/* ==== 官网品牌区 END ==== */

/* ---------- 资讯区（2026-09-22） ---------- */
.news-list{border-top:1px solid var(--ink)}
.news-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 28px;padding:26px 6px;border-bottom:1px solid var(--line);align-items:baseline}
.news-item time{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:1px}
.news-item h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:0;letter-spacing:1px;line-height:1.4}
.news-item h3 a{color:var(--ink);text-decoration:none}
.news-item h3 a:hover{color:var(--accent)}
.news-item p{grid-column:2;color:var(--ink-2);font-size:14px;margin:0;max-width:52em}
.news-tag{grid-column:2;justify-self:start;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--accent);border:1px solid var(--accent);padding:2px 8px;margin-top:2px}
/* ---------- 资讯内页：正文 + 右侧目录的双栏排版 ----------
   改造要点（2026-10-08）：
   ① 原 .article-wrap 固定 760px 居中，而标题 .wrap 贴 1140px 容器左缘，
      两者错位约 130px，正文块在页面上"飘"着（老板截图问题①）。
      现改为左对齐：正文栏从容器左缘起算，宽度 820px，与标题严格对齐。
   ② 右侧 220px 留给粘性目录，长文可快速跳转，横向空间不再浪费。
   ③ 段距/行高按中文阅读节奏重排（见下方 line-height 与 margin）。 */

/* 栅格：正文自适应 + 目录 180px + 间距 52px。
   容器内容区 = 1140 - 56*2 = 1028px，正文实得 1028-180-52 = 796px，
   标题页头同步按 796+112=908px 收窄，保证标题左缘与正文左缘严格对齐。 */
.article-layout{display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  column-gap:52px;align-items:start}
.article-col{min-width:0} /* grid 子项默认 min-width:auto 会被长串/宽表格撑破，必须归零 */

/* 单栏降级：目录存在与否都不影响正文宽度 */
.article-body{min-width:0}
.article-body p,.article-body li{
  color:var(--ink-2);font-size:15.5px;line-height:1.95;
  margin:0 0 18px;text-align:justify;text-justify:inter-ideograph}

/* 首段：去掉首行缩进式的重复视觉重量，改用细分隔线做"开篇"标识 */
.article-body>p:first-of-type{margin-top:0}

.article-body h2{
  font-family:var(--serif);font-weight:400;font-size:26px;
  margin:56px 0 20px;letter-spacing:1px;line-height:1.45;
  position:relative;padding-top:22px;color:var(--ink)}
/* H2 顶部细线 + 短竖条：给长文建立清晰的分节锚点，避免视觉上糊成一片 */
.article-body h2::before{content:"";position:absolute;left:0;top:0;width:56px;height:2px;background:var(--accent)}
.article-body h3{font-family:var(--serif);font-weight:400;font-size:19px;margin:36px 0 14px;letter-spacing:.5px;color:var(--ink);line-height:1.5}
.article-body ul,.article-body ol{padding-left:1.5em;margin:0 0 18px}
.article-body li{margin:0 0 8px}
.article-body li::marker{color:var(--accent)}
.article-body strong{color:var(--ink);font-weight:700}
/* 中西文混排加一点间距，标题里的加粗片段不会与前字粘连 */
.article-body strong{margin:0 .12em}
/* 括号内不留空格 */
.article-body p{word-break:break-word}
.article-body a{color:var(--accent);text-underline-offset:3px}
.article-body a:hover{color:var(--accent-deep)}

/* 引用块：法规原文的呈现底座，用浅色底衬出"这是条款不是我的话" */
.article-body blockquote{
  border-left:3px solid var(--accent);
  background:var(--accent-wash);
  margin:24px 0;padding:18px 22px;color:var(--ink);
  font-size:15px;line-height:1.9;border-radius:0 3px 3px 0}
.article-body blockquote p:last-child{margin-bottom:0}

/* 出处：虚线以上分隔，独立成"证据脚注"区 */
.article-src{border-top:1px dashed var(--line);margin-top:40px;padding-top:16px;color:var(--muted);font-size:13px;line-height:1.85}
.article-src b{color:var(--ink)}
.article-src a{color:var(--accent);text-decoration:none}
.article-src a:hover{text-decoration:underline}

/* 右栏目录：粘性，随滚动停在视线内 */
.article-toc{position:sticky;top:96px;font-size:13.5px;line-height:1.7}
.article-toc .toc-t{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--muted);
  padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--line);text-transform:uppercase}
.article-toc ol{list-style:none;margin:0;padding:0}
.article-toc li{margin:0}
.article-toc a{display:block;padding:7px 0 7px 12px;color:var(--ink-2);text-decoration:none;
  border-left:2px solid var(--line);transition:color .18s,border-color .18s}
.article-toc a:hover{color:var(--accent)}
.article-toc a.on{color:var(--accent);border-left-color:var(--accent);font-weight:600}
/* 目录项文字可能较长，限制为两行截断，避免把栏撑宽 */
.article-toc a span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* 目录里没有 H2 的短文（不足两节）时隐藏右栏，正文回到整宽 */
.article-toc:empty{display:none}
.article-layout.no-toc{grid-template-columns:minmax(0,1fr)}

/* 响应式：≤1080px 目录栏与正文太挤，收为单栏；≤760px 回收排版留白 */
@media (max-width:1080px){
  .article-layout{grid-template-columns:minmax(0,1fr);column-gap:0}
  .article-toc{display:none}
  /* 单栏后正文可宽，但中文一行超过约 45 字会明显降低可读性，故设上限 */
  .article-col{max-width:46em}
  /* 标题与正文同宽上限，防止 1080 附近标题拉得比正文还宽 */
  .page-head--article h1,.page-head--article .crumb,.page-head--article .article-meta{max-width:46em}
}
@media (max-width:760px){
  .article-body p,.article-body li{font-size:15px;line-height:1.9;margin:0 0 16px}
  .article-body h2{font-size:22px;margin:40px 0 16px;padding-top:18px}
  .article-body h3{font-size:17px;margin:28px 0 12px}
  .article-src{margin-top:32px;padding-top:14px}
  .page-head--article h1,.page-head--article .crumb,.page-head--article .article-meta{max-width:none}
}
