/* =============================================================================
   弘犀智能 · www.hxallai.com — site stylesheet  (v2 · "AI canvas")
   Design language: Google (Material 3 / GM3 · Gemini · DeepMind) as the skeleton — Google Sans type,
   pill buttons, 28–48 px rounded surfaces, centred heads, tonal #F0F4F9 cards — combined with the
   techniques of the best AI-era product sites (Apple, Stripe, Linear, Vercel, OpenAI):
     · light AI panels (.dark sections) with aurora light and a fading engineering grid — no black page backgrounds
     · one brand AI gradient: logo blue #0156D3 → #3D8BFF → violet #8B6CF2 → logo orange #EB6100
     · glass header, cursor spotlight + gradient borders on cards, staged reveals, counters
   Colour is audited by scripts/check.mjs (palette list there).
   Fonts (self-hosted, SIL OFL 1.1, no external requests):
     Google Sans Flex (Latin & digits, wght 400–600, opsz 12–96)
     Noto Sans SC 400 / 500 (思源黑体, Google's CJK sans) — every Chinese glyph on the site, two
     unicode-range slices generated at build time (scripts/site-chars.mjs, scripts/subset-sans-sc.sh)
   ============================================================================= */

/* ---------- fonts ---------- */
@font-face { font-family: "Google Sans Flex"; font-style: normal; font-display: swap; font-weight: 400 600;
  src: url("/assets/fonts/google-sans-flex-latin.b46acf686b.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Chinese pages: same file, minus punctuation that must stay full-width (— ‘ ’ “ ” …) */
@font-face { font-family: "Google Sans Flex CN"; font-style: normal; font-display: swap; font-weight: 400 600;
  src: url("/assets/fonts/google-sans-flex-latin.b46acf686b.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-2013, U+2015-2017, U+201A-201B, U+201E-2025, U+2027-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 400;
  src: url("/assets/fonts/noto-sans-sc-400-core.39b9bd7164.woff2") format("woff2");
  unicode-range: U+2014, U+2018-2019, U+201C-201D, U+2026, U+3000-3002, U+3008-3011, U+3014-3015, U+4E00, U+4E03, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E13, U+4E16, U+4E1A, U+4E2A, U+4E2D, U+4E34, U+4E3A-4E3B, U+4E48-4E49, U+4E4B, U+4E5F-4E60, U+4E86, U+4E8B-4E8C, U+4E8E, U+4E91-4E92, U+4E94, U+4EA4, U+4EA7, U+4EAC, U+4EB2, U+4EBA, U+4EBF-4EC0, U+4ECB, U+4ECD-4ECE, U+4ED6, U+4EE3, U+4EE5, U+4EEC, U+4EF6-4EF7, U+4EFB, U+4F01, U+4F18-4F1A, U+4F20, U+4F30, U+4F4D-4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA7, U+4FDD, U+4FE1, U+5019, U+503C, U+505A, U+505C, U+5065, U+50AC, U+50CF, U+5143, U+5148, U+5165, U+5168, U+516B-516D, U+5173, U+5176-5178, U+5185, U+5199, U+51B3, U+51C6, U+51E0-51E1, U+51FA, U+5206-5207, U+521B, U+5224, U+5229, U+522B, U+5230, U+5236, U+5238, U+523B, U+524D, U+526F, U+529B, U+529E-52A1, U+52A8, U+52B3, U+5316-5317, U+533A-533B, U+5341, U+534A, U+534F, U+5357, U+535A, U+5361, U+5370, U+5374, U+5386, U+539F, U+53A6, U+53C2, U+53CA, U+53CC-53CD, U+53D1, U+53D6-53D8, U+53E3, U+53EA, U+53EF-53F0, U+53F2, U+53F7-53F8, U+5408, U+540C-540E, U+5411, U+5426, U+542B-542C, U+544A, U+5458, U+548C, U+54A8, U+54C1, U+54CD, U+54EA, U+552E-552F, U+5546, U+5668, U+56DB, U+56DE, U+56E0, U+56E2, U+56F4, U+56FD-56FE, U+5728, U+5730, U+5733, U+573A, U+5747, U+5757, U+5764, U+578B, U+57DF, U+57FA, U+5883, U+58EB, U+5904, U+5907, U+590D, U+5916, U+591A, U+5927, U+5929, U+5931, U+5934, U+5951, U+5957, U+5982, U+59CB, U+59D4, U+5B57-5B58, U+5B66, U+5B75, U+5B83, U+5B89, U+5B8C, U+5B9A, U+5BA1-5BA2, U+5BB6, U+5BB9, U+5BC6, U+5BF8-5BF9, U+5BFC, U+5C01, U+5C0F, U+5C16, U+5C24, U+5C31, U+5C3D, U+5C40, U+5C42, U+5C5E, U+5C71, U+5D4C, U+5DDE, U+5DE5, U+5DF2, U+5E02-5E03, U+5E08, U+5E2D, U+5E38, U+5E73-5E74, U+5E76, U+5E8A, U+5E93-5E95, U+5E97, U+5E9F, U+5EA6-5EA7, U+5EAD, U+5EB7, U+5EF6, U+5EFA, U+5F00, U+5F02, U+5F0A, U+5F0F, U+5F18, U+5F20, U+5F3A, U+5F52-5F53, U+5F71, U+5F80-5F81, U+5F84, U+5F8B, U+5F97, U+5FA1, U+5FAE, U+5FC3, U+5FC5-5FC6, U+5FEB, U+5FF5, U+6001, U+600E, U+6027, U+602A, U+603B, U+60A8, U+60C5, U+611F, U+6210-6212, U+6216, U+622A, U+6237, U+6240, U+6253, U+625B, U+6279, U+627E, U+6280, U+628A, U+6295, U+62A5, U+62BD, U+62C6, U+62DB, U+62DF, U+62E9, U+6301-6302, U+6307, U+6309, U+636E, U+6388, U+6392, U+63A5, U+63A7-63A8, U+63D0, U+6458, U+6469, U+64AD, U+64B0, U+652F, U+6536, U+6539, U+653E, U+6548, U+6559, U+6570, U+6574, U+6587, U+65AD, U+65B0, U+65B9, U+65CF, U+65D7, U+65E0, U+65E2, U+65E5, U+65E7-65E9, U+65F6, U+660E, U+6613, U+662F, U+663E, U+666F, U+667A, U+6682, U+66F4, U+6700, U+6708-6709, U+670D, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+675F, U+6761, U+6765, U+676D, U+6784, U+6790, U+679C, U+67B6, U+67E5, U+6807-6808, U+6821, U+6837-6839, U+6846, U+6848, U+6863, U+6885, U+68C0, U+6982, U+6A21, U+6B21, U+6B3A, U+6B3E, U+6B65, U+6BCD, U+6BCF, U+6C34, U+6C42, U+6C47, U+6CBB, U+6CBF, U+6CD5, U+6CE8, U+6D41, U+6D4B, U+6D77, U+6D88, U+6DF1, U+6E05, U+6E20, U+6E38, U+6E90, U+6EAF, U+6F14, U+6F5C, U+70B9, U+70ED, U+7136, U+7167, U+7248, U+7269, U+7279, U+7280, U+72B6, U+72EC, U+7387, U+738B, U+73AF-73B0, U+7406, U+7455, U+751F, U+7528, U+7531, U+7533, U+7535, U+754C, U+7559, U+7565, U+7597, U+75B5, U+75C5, U+767D, U+7684, U+76D1, U+76D6, U+76EE, U+76F4, U+770B, U+771F, U+77E5, U+77E9, U+77F3, U+7801, U+7814, U+786C, U+786E, U+793A, U+7981, U+79BB, U+79C1, U+79D1, U+79FB, U+7A0B, U+7A76, U+7A7F, U+7A9C, U+7ACB, U+7ADE, U+7AEF, U+7B49, U+7B56, U+7B79, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7C7B, U+7CA4, U+7CBE, U+7CFB, U+7EA6-7EA7, U+7EBF, U+7EC3-7EC4, U+7EC6, U+7ECD, U+7ECF, U+7ED3, U+7ED9, U+7EDC-7EDD, U+7EDF, U+7EE7, U+7EED, U+7EF4, U+7EFC, U+7F16, U+7F18, U+7F3A, U+7F51, U+7F6E, U+7F72, U+7F8E, U+7FA4, U+8003, U+8005, U+8015, U+804C, U+8054, U+8058, U+80C0, U+80DC, U+80FD, U+81A8, U+81EA, U+81F3-81F4, U+8230, U+826F, U+8272, U+8282, U+82F1, U+8303, U+8363, U+836F, U+8425, U+843D, U+8457, U+84B8, U+85AA, U+878D, U+8840, U+884C-884D, U+8868, U+88AB, U+88C5, U+8981, U+8986, U+89C4, U+89C6, U+89C8-89C9, U+89D2, U+89E3, U+8A00, U+8A89, U+8B66, U+8BA1, U+8BA4, U+8BA8-8BA9, U+8BAD, U+8BB0, U+8BBA, U+8BBE-8BBF, U+8BC1, U+8BC4, U+8BC6, U+8BC8, U+8BCD, U+8BD5, U+8BDA, U+8BE2, U+8BE5-8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8C01, U+8C03, U+8C31, U+8D23, U+8D25-8D28, U+8D2F, U+8D37, U+8D39, U+8D44, U+8D56, U+8D5B, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DB3, U+8DD1, U+8DDF, U+8DE8, U+8DEF, U+8DF3, U+8E2A, U+8F6E, U+8F83, U+8FB9, U+8FC5, U+8FC7, U+8FD0-8FD1, U+8FD4, U+8FD8-8FD9, U+8FDB, U+8FDE, U+8FF0, U+8FFD, U+9002, U+9009, U+9012, U+901A, U+901F-9020, U+904D, U+9053, U+90E8, U+90FD, U+91CA, U+91CC-91CD, U+91CF, U+91D1, U+949F, U+94A5, U+94F6, U+94FE, U+9500, U+9519, U+952E, U+955C, U+957F, U+95E8, U+95EE, U+95F4, U+95F8, U+9605, U+961F, U+9632, U+9635, U+9645, U+9650, U+9662, U+9669, U+9686, U+968F, U+96BE, U+96F6-96F7, U+9700, U+971E, U+9760, U+9762, U+9875-9876, U+9879, U+987B, U+9884, U+9891, U+9898, U+989D, U+98CE, U+998F, U+9996, U+9A71, U+9A7E, U+9A8C, U+9AA4, U+9AD8, U+9ED8, U+9F50, U+FF01, U+FF05, U+FF08-FF09, U+FF0B-FF0D, U+FF0F, U+FF1A-FF1B, U+FF1D, U+FF1F, U+FF5E; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 400;
  src: url("/assets/fonts/noto-sans-sc-400-rest.e4d8da8435.woff2") format("woff2");
  unicode-range: U+4E01, U+4E14, U+4E1C, U+4E22, U+4E24-4E25, U+4E30, U+4E32, U+4E39, U+4E3E, U+4E45, U+4E4E-4E50, U+4E58-4E59, U+4E5D, U+4E66, U+4E70-4E71, U+4E88-4E89, U+4E9A-4E9B, U+4EA1, U+4EA6, U+4EAB, U+4EAE, U+4EC5, U+4ECA, U+4ED3, U+4ED8, U+4EE4, U+4EEA, U+4EFD, U+4EFF, U+4F0D, U+4F17, U+4F24, U+4F26, U+4F2A, U+4F34, U+4F38, U+4F3C, U+4F46, U+4F5B, U+4F60, U+4F73, U+4F88, U+4FB5, U+4FBF, U+4FC3, U+4FEE, U+500D, U+501A, U+501F, U+503A, U+503E, U+5047, U+504F, U+5077, U+507F, U+50A8, U+5141, U+5145, U+5149, U+514B, U+514D, U+5151, U+515C, U+5170-5171, U+5175, U+517B-517C, U+518C-518D, U+5192, U+5197, U+519C, U+51B2, U+51B5, U+51B7, U+51BB, U+51C0, U+51CF, U+51ED, U+51FB, U+51FD, U+5200, U+5203, U+520A, U+5212, U+5217, U+5219-521A, U+521D, U+5220, U+5237, U+523A, U+5242, U+524A, U+5267, U+5269-526A, U+5272, U+52A3, U+52A9, U+52AB, U+52B1, U+52BF, U+52DF, U+52FE-52FF, U+5305, U+5319, U+5339, U+533F, U+5343, U+5347, U+534E, U+5355-5356, U+5360, U+536B, U+5371, U+5373, U+5377-5378, U+5382, U+5385, U+538B, U+5398, U+539A, U+53BB, U+53C8-53C9, U+53CB, U+53E0, U+53E5-53E6, U+53EB-53EC, U+53F3, U+53F6, U+5404, U+540A, U+5410, U+5417, U+541E, U+5421, U+542F, U+5435, U+5438, U+5448, U+5468, U+5473, U+547C-547D, U+5496, U+54C8, U+54FA, U+5511, U+5561, U+5584, U+55EA, U+5631, U+566A, U+567B, U+56CA, U+56F0, U+56FA, U+5708, U+5740, U+574F-5750, U+575A, U+5782, U+5792, U+57CB, U+57CE, U+57F9, U+582A, U+584C, U+585E, U+586B, U+589E, U+58C1, U+58F0, U+58F9, U+591F, U+592B, U+5938-5939, U+594F, U+5954, U+5956, U+5960, U+5962, U+5965, U+597D, U+598A, U+5999, U+59D3, U+59E8, U+5A20, U+5A5A, U+5A92, U+5B50, U+5B63-5B64, U+5B6A, U+5B81, U+5B88, U+5B98, U+5B9C, U+5B9E, U+5BA3-5BA4, U+5BB3, U+5BBD, U+5BCC, U+5BDF, U+5BFB, U+5C04, U+5C06, U+5C11, U+5C14, U+5C1A, U+5C1D, U+5C3A, U+5C3E-5C3F, U+5C45, U+5C4A, U+5C4F, U+5C55, U+5C81, U+5C97, U+5C9B, U+5CAD, U+5CF0, U+5D29, U+5DE1, U+5DE6-5DE7, U+5DEE, U+5DF1, U+5DF4, U+5E01, U+5E0C, U+5E15, U+5E26, U+5E2E, U+5E42, U+5E45, U+5E55, U+5E72, U+5E7B, U+5E7F, U+5E8F, U+5E9C, U+5F03, U+5F08, U+5F15, U+5F25, U+5F31, U+5F39, U+5F55, U+5F62, U+5F7B, U+5F85, U+5F88, U+5F92, U+5FAA, U+5FCD, U+5FD7-5FD8, U+5FE0, U+5FE7, U+5FFD, U+6015, U+601D, U+6025, U+6062, U+606F-6070, U+6076, U+6096, U+60A3, U+60AC, U+60E0, U+60E9, U+60EF, U+60F3, U+610F, U+613F, U+614E, U+6162, U+6167, U+6170, U+61C2, U+6218, U+6233-6234, U+623F, U+6247, U+624B, U+624D, U+6251, U+6258, U+6263, U+6267, U+6269, U+626B-626C, U+6270, U+627F, U+6284, U+6291, U+6293, U+6297-6298, U+62A4, U+62AB, U+62B5, U+62B9, U+62BC, U+62C5, U+62C9, U+62CD, U+62D0, U+62D2-62D3, U+62D6, U+62E5-62E6, U+62E8, U+62EC, U+62FC, U+62FF, U+6311, U+6316, U+633D, U+6350, U+6355, U+635F, U+6362, U+6377, U+6389, U+6398, U+63A2, U+63A9-63AA, U+63CF, U+63D2, U+641C, U+642C-642D, U+643A, U+6444, U+6446, U+6454, U+6491, U+64A4, U+64C5, U+64CD-64CE, U+64E6, U+653B, U+653F, U+6545, U+654F, U+655B, U+6562-6563, U+6591, U+6599, U+65BD, U+65C1, U+65C5, U+65E6, U+6602, U+661F-6620, U+664B, U+665A, U+666E, U+6670, U+6697, U+66B4, U+66F2, U+66FE-66FF, U+671B, U+6734, U+6742, U+6746, U+674E, U+6750-6751, U+675C, U+6760, U+677F, U+6781, U+6797, U+679A, U+67A2, U+67D0, U+67D3, U+67DC, U+67F1, U+680F, U+6811, U+6813, U+683C, U+684C, U+68AF-68B0, U+68B3, U+68D2, U+68EE, U+68F5, U+695A, U+697C, U+699C, U+69DB, U+6A2A, U+6B20, U+6B22, U+6B27, U+6B4C, U+6B62-6B64, U+6B67, U+6B7B, U+6B8A-6B8B, U+6B96, U+6BB5, U+6BC1, U+6BD2, U+6BD4, U+6BDB, U+6BEB, U+6C11, U+6C14, U+6C22, U+6C28, U+6C2F, U+6C38, U+6C61, U+6C89, U+6C99, U+6CA1, U+6CA6, U+6CB9, U+6CC4, U+6CCC, U+6CDB, U+6CE2, U+6D17, U+6D1B, U+6D1E, U+6D3B, U+6D3D-6D3E, U+6D46, U+6D4E-6D4F, U+6D53, U+6D6E, U+6D89, U+6D8C, U+6DA6, U+6DB5, U+6DC0, U+6DF7, U+6DFB, U+6E34, U+6E56, U+6E58, U+6E83, U+6EB6, U+6ED1, U+6EDA, U+6EDE, U+6EE1, U+6EE4-6EE5, U+6F02, U+6F0F, U+6FC0, U+7070, U+707E, U+70AB, U+70B8, U+70E7, U+7194, U+719F, U+7206, U+7231, U+7236, U+7247, U+724C, U+725B, U+7262, U+72AF, U+72B9, U+732E, U+73BB, U+7403, U+745E, U+7483, U+74F6, U+7504, U+751A, U+7532, U+7537, U+753B, U+7578, U+758F, U+7591, U+75AB, U+75BE, U+75C7, U+75D5, U+75DB, U+7624, U+7626, U+764C, U+767B, U+767E, U+76CA, U+76D2, U+76D8, U+76EF, U+76F2, U+76F8, U+7701, U+7720, U+773C, U+7740, U+775B, U+7761, U+7763, U+77BB, U+77ED, U+77FF, U+7834, U+7840, U+7855, U+7891, U+78B0-78B1, U+78E8, U+793E, U+7956, U+795E, U+7968, U+79CD, U+79D2, U+79DF, U+79E9, U+79EF-79F0, U+7A00, U+7A0E, U+7A20, U+7A33, U+7A3D, U+7A3F, U+7A7A, U+7A81, U+7A84, U+7A97, U+7AD9, U+7AFF, U+7B14, U+7B26, U+7B2C, U+7B3C, U+7B54, U+7B5B, U+7BE1, U+7C89, U+7C92, U+7CCA, U+7CD5-7CD6, U+7CDF, U+7D20, U+7D22, U+7D27, U+7D2F, U+7E41, U+7EA0, U+7EA2, U+7EA4, U+7EAA, U+7EAF, U+7EB3, U+7EB5, U+7EB8, U+7EC7-7EC8, U+7ED1, U+7ED5, U+7ED8, U+7EE9-7EEA, U+7EF3, U+7F00, U+7F13, U+7F1D, U+7F29, U+7F30, U+7F34, U+7F5A, U+7FFB, U+8001, U+800C, U+8010, U+8017, U+8026, U+805A, U+806A, U+8089, U+80A0-80A1, U+80BA, U+80BE-80BF, U+80C3, U+80C6, U+80CC-80CD, U+80F6, U+80F8, U+8102, U+8109, U+810F, U+8111, U+811A, U+8131, U+8138, U+817A, U+817F, U+820D, U+822A, U+82AC, U+82B1, U+82E5, U+8349, U+8350, U+8377, U+83B1, U+83B7, U+8499, U+84DD, U+8513, U+853D, U+8584, U+85CF, U+8651, U+865A, U+86CB, U+8861, U+8863, U+8865, U+8870, U+88C1-88C2, U+88F8-88F9, U+897F, U+89C1-89C2, U+89E6, U+8BA2, U+8BAE, U+8BB2, U+8BB8, U+8BC9-8BCA, U+8BD1, U+8BDD, U+8BF1, U+8BFA, U+8BFE, U+8C08, U+8C28, U+8C37, U+8C41, U+8C61, U+8D1F, U+8D21-8D22, U+8D2D, U+8D31, U+8D34-8D35, U+8D4A, U+8D4F, U+8D54, U+8D60, U+8D8B, U+8DC3, U+8DDD, U+8DE4, U+8DF5, U+8EAB, U+8F66, U+8F68, U+8F6C, U+8F6F, U+8F74, U+8F7B, U+8F7D, U+8F85-8F86, U+8F91, U+8F93, U+8F9B, U+8F9E, U+8FA8-8FA9, U+8FBE, U+8FC1, U+8FCE, U+8FDC-8FDD, U+8FDF, U+8FEB, U+8FED, U+8FF7, U+8FF9, U+9000-9001, U+9006, U+900F-9010, U+9014, U+903B-903C, U+903E, U+9047, U+9057, U+9074-9075, U+907F, U+90A3, U+90A6, U+90AE, U+90B3, U+90BB, U+914D, U+915A, U+9170, U+9192, U+91C7, U+91CE, U+9274, U+9488-9489, U+94B1, U+94BB, U+94C1, U+94FA, U+9501, U+951A, U+9547, U+95ED, U+95F2, U+9601, U+9608, U+9633, U+9636, U+963B, U+963F, U+9644, U+9648, U+964D, U+9664, U+9677, U+9690, U+9694, U+969C, U+96C6, U+9732, U+9759, U+975E, U+9769, U+9776, U+97F3, U+987A, U+987E-987F, U+9886, U+9888, U+98DE, U+9910, U+996E, U+9971, U+9988, U+9A6C, U+9A73, U+9A76, U+9AA8, U+9C81, U+9C9C, U+9EA6, U+9EC4, U+9ED1, U+9F13, U+9F20, U+9F84, U+FF5C; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 400;
  src: url("/assets/fonts/noto-sans-sc-400-research.8560a2fb56.woff2") format("woff2");
  unicode-range: U+4E19, U+4E43, U+4E9F, U+4EC1, U+4ED4, U+4F0F, U+4FD7-4FD8, U+5012, U+5076, U+513F, U+5144, U+51B0, U+51D1, U+5254, U+5265, U+52D8, U+52E4, U+5300, U+538C, U+53A8, U+53D9, U+53F9, U+5401, U+5403, U+5428, U+548E, U+54E5, U+5531, U+5582, U+5608, U+5706, U+5723, U+574D, U+575B, U+5761, U+5766, U+5806, U+5835, U+5851, U+5899, U+58F3, U+591C, U+592A, U+592E, U+593A, U+5976, U+59A5, U+59FF, U+5A01, U+5B8F, U+5BAB, U+5BBF, U+5BC4, U+5BD2, U+5C0A, U+5C94, U+5C96, U+5D0E, U+5D16, U+5DDD, U+5DE8, U+5E16, U+5E27, U+5EC9, U+5F04, U+5F17, U+5F1F, U+5F26, U+5F2F, U+5F69, U+5F79, U+5F7C, U+5FB7, U+5FD9, U+6000, U+6052, U+6084, U+6094, U+60D5, U+620F, U+624E, U+626D, U+62A2, U+62AC, U+62E2-62E3, U+6321, U+6324-6325, U+632F, U+635E, U+638C, U+63E1, U+63ED, U+6447, U+644A, U+649E, U+6551, U+6597, U+65A5, U+65AF, U+65CB, U+65EC, U+65FA, U+6607, U+6684, U+6717, U+671D, U+672B, U+677E, U+679D, U+67D4, U+6851, U+6865, U+68A6, U+68CB, U+69FD, U+6B47, U+6C5F-6C60, U+6C70, U+6C8C, U+6C9F, U+6CB8, U+6CBE, U+6CF0, U+6D01, U+6D0B, U+6D3C, U+6D45, U+6D51, U+6D59, U+6D6A, U+6DA8, U+6DC6, U+6DD8, U+6DF9, U+6E10, U+6E21, U+6E29, U+6E2F, U+6E32, U+6E7F, U+6EA2, U+706B, U+706F, U+7075-7076, U+708E, U+70BC, U+70C1, U+70C8, U+70E6, U+7126, U+71B5, U+722A, U+7272, U+7275, U+727A, U+72ED, U+731C, U+73A9, U+73ED, U+74F7, U+7545, U+75B2, U+7687, U+76C8, U+76DB, U+76DF, U+76FE, U+7709, U+7784, U+7792, U+77AC, U+77DB, U+7816, U+788E, U+78C1, U+793C, U+7978, U+79A7, U+79E4, U+7A0D, U+7A77, U+7ADF-7AE0, U+7C07, U+7C3F, U+7C73, U+7C97, U+7CB9, U+7CD9, U+7EB2, U+7EB9, U+7F06, U+7F55, U+7F8A, U+808C, U+809D, U+80A5, U+80AF, U+80B2, U+80C1, U+80CE, U+80DE, U+80F0, U+8106, U+8150, U+817E, U+81C2, U+822C, U+8235, U+827A, U+827E, U+82D7, U+8361, U+8367, U+83DC, U+852C, U+8574, U+867D, U+8681-8682, U+88D5, U+8BAF, U+8C13, U+8C1C, U+8C22, U+8D1D, U+8D2A, U+8D4B, U+8D5A, U+8D62, U+8DCC, U+8E29, U+8F99, U+8FC4, U+9003, U+9038, U+906E, U+914C, U+916C, U+9176, U+94A9, U+94AE, U+9505, U+950B, U+9510, U+9526, U+95EA, U+95EF, U+95FB, U+9631, U+9634, U+964C, U+966A, U+9699, U+96B6, U+96C5, U+96C7, U+97E7, U+989C, U+98A0, U+98DF, U+9999, U+9A7C, U+9A97, U+9B54, U+9E3F, U+9EBB; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 500;
  src: url("/assets/fonts/noto-sans-sc-500-core.2dadabbc74.woff2") format("woff2");
  unicode-range: U+2014, U+2018-2019, U+201C-201D, U+2026, U+3000-3002, U+3008-3011, U+3014-3015, U+4E00, U+4E03, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E13, U+4E16, U+4E1A, U+4E2A, U+4E2D, U+4E34, U+4E3A-4E3B, U+4E48-4E49, U+4E4B, U+4E5F-4E60, U+4E86, U+4E8B-4E8C, U+4E8E, U+4E91-4E92, U+4E94, U+4EA4, U+4EA7, U+4EAC, U+4EB2, U+4EBA, U+4EBF-4EC0, U+4ECB, U+4ECD-4ECE, U+4ED6, U+4EE3, U+4EE5, U+4EEC, U+4EF6-4EF7, U+4EFB, U+4F01, U+4F18-4F1A, U+4F20, U+4F30, U+4F4D-4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA7, U+4FDD, U+4FE1, U+5019, U+503C, U+505A, U+505C, U+5065, U+50AC, U+50CF, U+5143, U+5148, U+5165, U+5168, U+516B-516D, U+5173, U+5176-5178, U+5185, U+5199, U+51B3, U+51C6, U+51E0-51E1, U+51FA, U+5206-5207, U+521B, U+5224, U+5229, U+522B, U+5230, U+5236, U+5238, U+523B, U+524D, U+526F, U+529B, U+529E-52A1, U+52A8, U+52B3, U+5316-5317, U+533A-533B, U+5341, U+534A, U+534F, U+5357, U+535A, U+5361, U+5370, U+5374, U+5386, U+539F, U+53A6, U+53C2, U+53CA, U+53CC-53CD, U+53D1, U+53D6-53D8, U+53E3, U+53EA, U+53EF-53F0, U+53F2, U+53F7-53F8, U+5408, U+540C-540E, U+5411, U+5426, U+542B-542C, U+544A, U+5458, U+548C, U+54A8, U+54C1, U+54CD, U+54EA, U+552E-552F, U+5546, U+5668, U+56DB, U+56DE, U+56E0, U+56E2, U+56F4, U+56FD-56FE, U+5728, U+5730, U+5733, U+573A, U+5747, U+5757, U+5764, U+578B, U+57DF, U+57FA, U+5883, U+58EB, U+5904, U+5907, U+590D, U+5916, U+591A, U+5927, U+5929, U+5931, U+5934, U+5951, U+5957, U+5982, U+59CB, U+59D4, U+5B57-5B58, U+5B66, U+5B75, U+5B83, U+5B89, U+5B8C, U+5B9A, U+5BA1-5BA2, U+5BB6, U+5BB9, U+5BC6, U+5BF8-5BF9, U+5BFC, U+5C01, U+5C0F, U+5C16, U+5C24, U+5C31, U+5C3D, U+5C40, U+5C42, U+5C5E, U+5C71, U+5D4C, U+5DDE, U+5DE5, U+5DF2, U+5E02-5E03, U+5E08, U+5E2D, U+5E38, U+5E73-5E74, U+5E76, U+5E8A, U+5E93-5E95, U+5E97, U+5E9F, U+5EA6-5EA7, U+5EAD, U+5EB7, U+5EF6, U+5EFA, U+5F00, U+5F02, U+5F0A, U+5F0F, U+5F18, U+5F20, U+5F3A, U+5F52-5F53, U+5F71, U+5F80-5F81, U+5F84, U+5F8B, U+5F97, U+5FA1, U+5FAE, U+5FC3, U+5FC5-5FC6, U+5FEB, U+5FF5, U+6001, U+600E, U+6027, U+602A, U+603B, U+60A8, U+60C5, U+611F, U+6210-6212, U+6216, U+622A, U+6237, U+6240, U+6253, U+625B, U+6279, U+627E, U+6280, U+628A, U+6295, U+62A5, U+62BD, U+62C6, U+62DB, U+62DF, U+62E9, U+6301-6302, U+6307, U+6309, U+636E, U+6388, U+6392, U+63A5, U+63A7-63A8, U+63D0, U+6458, U+6469, U+64AD, U+64B0, U+652F, U+6536, U+6539, U+653E, U+6548, U+6559, U+6570, U+6574, U+6587, U+65AD, U+65B0, U+65B9, U+65CF, U+65D7, U+65E0, U+65E2, U+65E5, U+65E7-65E9, U+65F6, U+660E, U+6613, U+662F, U+663E, U+666F, U+667A, U+6682, U+66F4, U+6700, U+6708-6709, U+670D, U+671F, U+672A, U+672C, U+672F, U+673A, U+6743, U+675F, U+6761, U+6765, U+676D, U+6784, U+6790, U+679C, U+67B6, U+67E5, U+6807-6808, U+6821, U+6837-6839, U+6846, U+6848, U+6863, U+6885, U+68C0, U+6982, U+6A21, U+6B21, U+6B3A, U+6B3E, U+6B65, U+6BCD, U+6BCF, U+6C34, U+6C42, U+6C47, U+6CBB, U+6CBF, U+6CD5, U+6CE8, U+6D41, U+6D4B, U+6D77, U+6D88, U+6DF1, U+6E05, U+6E20, U+6E38, U+6E90, U+6EAF, U+6F14, U+6F5C, U+70B9, U+70ED, U+7136, U+7167, U+7248, U+7269, U+7279, U+7280, U+72B6, U+72EC, U+7387, U+738B, U+73AF-73B0, U+7406, U+7455, U+751F, U+7528, U+7531, U+7533, U+7535, U+754C, U+7559, U+7565, U+7597, U+75B5, U+75C5, U+767D, U+7684, U+76D1, U+76D6, U+76EE, U+76F4, U+770B, U+771F, U+77E5, U+77E9, U+77F3, U+7801, U+7814, U+786C, U+786E, U+793A, U+7981, U+79BB, U+79C1, U+79D1, U+79FB, U+7A0B, U+7A76, U+7A7F, U+7A9C, U+7ACB, U+7ADE, U+7AEF, U+7B49, U+7B56, U+7B79, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BB1, U+7BC7, U+7C7B, U+7CA4, U+7CBE, U+7CFB, U+7EA6-7EA7, U+7EBF, U+7EC3-7EC4, U+7EC6, U+7ECD, U+7ECF, U+7ED3, U+7ED9, U+7EDC-7EDD, U+7EDF, U+7EE7, U+7EED, U+7EF4, U+7EFC, U+7F16, U+7F18, U+7F3A, U+7F51, U+7F6E, U+7F72, U+7F8E, U+7FA4, U+8003, U+8005, U+8015, U+804C, U+8054, U+8058, U+80C0, U+80DC, U+80FD, U+81A8, U+81EA, U+81F3-81F4, U+8230, U+826F, U+8272, U+8282, U+82F1, U+8303, U+8363, U+836F, U+8425, U+843D, U+8457, U+84B8, U+85AA, U+878D, U+8840, U+884C-884D, U+8868, U+88AB, U+88C5, U+8981, U+8986, U+89C4, U+89C6, U+89C8-89C9, U+89D2, U+89E3, U+8A00, U+8A89, U+8B66, U+8BA1, U+8BA4, U+8BA8-8BA9, U+8BAD, U+8BB0, U+8BBA, U+8BBE-8BBF, U+8BC1, U+8BC4, U+8BC6, U+8BC8, U+8BCD, U+8BD5, U+8BDA, U+8BE2, U+8BE5-8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8C01, U+8C03, U+8C31, U+8D23, U+8D25-8D28, U+8D2F, U+8D37, U+8D39, U+8D44, U+8D56, U+8D5B, U+8D70, U+8D77, U+8D85, U+8D8A, U+8DB3, U+8DD1, U+8DDF, U+8DE8, U+8DEF, U+8DF3, U+8E2A, U+8F6E, U+8F83, U+8FB9, U+8FC5, U+8FC7, U+8FD0-8FD1, U+8FD4, U+8FD8-8FD9, U+8FDB, U+8FDE, U+8FF0, U+8FFD, U+9002, U+9009, U+9012, U+901A, U+901F-9020, U+904D, U+9053, U+90E8, U+90FD, U+91CA, U+91CC-91CD, U+91CF, U+91D1, U+949F, U+94A5, U+94F6, U+94FE, U+9500, U+9519, U+952E, U+955C, U+957F, U+95E8, U+95EE, U+95F4, U+95F8, U+9605, U+961F, U+9632, U+9635, U+9645, U+9650, U+9662, U+9669, U+9686, U+968F, U+96BE, U+96F6-96F7, U+9700, U+971E, U+9760, U+9762, U+9875-9876, U+9879, U+987B, U+9884, U+9891, U+9898, U+989D, U+98CE, U+998F, U+9996, U+9A71, U+9A7E, U+9A8C, U+9AA4, U+9AD8, U+9ED8, U+9F50, U+FF01, U+FF05, U+FF08-FF09, U+FF0B-FF0D, U+FF0F, U+FF1A-FF1B, U+FF1D, U+FF1F, U+FF5E; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 500;
  src: url("/assets/fonts/noto-sans-sc-500-rest.4d02716503.woff2") format("woff2");
  unicode-range: U+4E01, U+4E14, U+4E1C, U+4E22, U+4E24-4E25, U+4E30, U+4E32, U+4E39, U+4E3E, U+4E45, U+4E4E-4E50, U+4E58-4E59, U+4E5D, U+4E66, U+4E70-4E71, U+4E88-4E89, U+4E9A-4E9B, U+4EA1, U+4EA6, U+4EAB, U+4EAE, U+4EC5, U+4ECA, U+4ED3, U+4ED8, U+4EE4, U+4EEA, U+4EFD, U+4EFF, U+4F0D, U+4F17, U+4F24, U+4F26, U+4F2A, U+4F34, U+4F38, U+4F3C, U+4F46, U+4F5B, U+4F60, U+4F73, U+4F88, U+4FB5, U+4FBF, U+4FC3, U+4FEE, U+500D, U+501A, U+501F, U+503A, U+503E, U+5047, U+504F, U+5077, U+507F, U+50A8, U+5141, U+5145, U+5149, U+514B, U+514D, U+5151, U+515C, U+5170-5171, U+5175, U+517B-517C, U+518C-518D, U+5192, U+5197, U+519C, U+51B2, U+51B5, U+51B7, U+51BB, U+51C0, U+51CF, U+51ED, U+51FB, U+51FD, U+5200, U+5203, U+520A, U+5212, U+5217, U+5219-521A, U+521D, U+5220, U+5237, U+523A, U+5242, U+524A, U+5267, U+5269-526A, U+5272, U+52A3, U+52A9, U+52AB, U+52B1, U+52BF, U+52DF, U+52FE-52FF, U+5305, U+5319, U+5339, U+533F, U+5343, U+5347, U+534E, U+5355-5356, U+5360, U+536B, U+5371, U+5373, U+5377-5378, U+5382, U+5385, U+538B, U+5398, U+539A, U+53BB, U+53C8-53C9, U+53CB, U+53E0, U+53E5-53E6, U+53EB-53EC, U+53F3, U+53F6, U+5404, U+540A, U+5410, U+5417, U+541E, U+5421, U+542F, U+5435, U+5438, U+5448, U+5468, U+5473, U+547C-547D, U+5496, U+54C8, U+54FA, U+5511, U+5561, U+5584, U+55EA, U+5631, U+566A, U+567B, U+56CA, U+56F0, U+56FA, U+5708, U+5740, U+574F-5750, U+575A, U+5782, U+5792, U+57CB, U+57CE, U+57F9, U+582A, U+584C, U+585E, U+586B, U+589E, U+58C1, U+58F0, U+58F9, U+591F, U+592B, U+5938-5939, U+594F, U+5954, U+5956, U+5960, U+5962, U+5965, U+597D, U+598A, U+5999, U+59D3, U+59E8, U+5A20, U+5A5A, U+5A92, U+5B50, U+5B63-5B64, U+5B6A, U+5B81, U+5B88, U+5B98, U+5B9C, U+5B9E, U+5BA3-5BA4, U+5BB3, U+5BBD, U+5BCC, U+5BDF, U+5BFB, U+5C04, U+5C06, U+5C11, U+5C14, U+5C1A, U+5C1D, U+5C3A, U+5C3E-5C3F, U+5C45, U+5C4A, U+5C4F, U+5C55, U+5C81, U+5C97, U+5C9B, U+5CAD, U+5CF0, U+5D29, U+5DE1, U+5DE6-5DE7, U+5DEE, U+5DF1, U+5DF4, U+5E01, U+5E0C, U+5E15, U+5E26, U+5E2E, U+5E42, U+5E45, U+5E55, U+5E72, U+5E7B, U+5E7F, U+5E8F, U+5E9C, U+5F03, U+5F08, U+5F15, U+5F25, U+5F31, U+5F39, U+5F55, U+5F62, U+5F7B, U+5F85, U+5F88, U+5F92, U+5FAA, U+5FCD, U+5FD7-5FD8, U+5FE0, U+5FE7, U+5FFD, U+6015, U+601D, U+6025, U+6062, U+606F-6070, U+6076, U+6096, U+60A3, U+60AC, U+60E0, U+60E9, U+60EF, U+60F3, U+610F, U+613F, U+614E, U+6162, U+6167, U+6170, U+61C2, U+6218, U+6233-6234, U+623F, U+6247, U+624B, U+624D, U+6251, U+6258, U+6263, U+6267, U+6269, U+626B-626C, U+6270, U+627F, U+6284, U+6291, U+6293, U+6297-6298, U+62A4, U+62AB, U+62B5, U+62B9, U+62BC, U+62C5, U+62C9, U+62CD, U+62D0, U+62D2-62D3, U+62D6, U+62E5-62E6, U+62E8, U+62EC, U+62FC, U+62FF, U+6311, U+6316, U+633D, U+6350, U+6355, U+635F, U+6362, U+6377, U+6389, U+6398, U+63A2, U+63A9-63AA, U+63CF, U+63D2, U+641C, U+642C-642D, U+643A, U+6444, U+6446, U+6454, U+6491, U+64A4, U+64C5, U+64CD-64CE, U+64E6, U+653B, U+653F, U+6545, U+654F, U+655B, U+6562-6563, U+6591, U+6599, U+65BD, U+65C1, U+65C5, U+65E6, U+6602, U+661F-6620, U+664B, U+665A, U+666E, U+6670, U+6697, U+66B4, U+66F2, U+66FE-66FF, U+671B, U+6734, U+6742, U+6746, U+674E, U+6750-6751, U+675C, U+6760, U+677F, U+6781, U+6797, U+679A, U+67A2, U+67D0, U+67D3, U+67DC, U+67F1, U+680F, U+6811, U+6813, U+683C, U+684C, U+68AF-68B0, U+68B3, U+68D2, U+68EE, U+68F5, U+695A, U+697C, U+699C, U+69DB, U+6A2A, U+6B20, U+6B22, U+6B27, U+6B4C, U+6B62-6B64, U+6B67, U+6B7B, U+6B8A-6B8B, U+6B96, U+6BB5, U+6BC1, U+6BD2, U+6BD4, U+6BDB, U+6BEB, U+6C11, U+6C14, U+6C22, U+6C28, U+6C2F, U+6C38, U+6C61, U+6C89, U+6C99, U+6CA1, U+6CA6, U+6CB9, U+6CC4, U+6CCC, U+6CDB, U+6CE2, U+6D17, U+6D1B, U+6D1E, U+6D3B, U+6D3D-6D3E, U+6D46, U+6D4E-6D4F, U+6D53, U+6D6E, U+6D89, U+6D8C, U+6DA6, U+6DB5, U+6DC0, U+6DF7, U+6DFB, U+6E34, U+6E56, U+6E58, U+6E83, U+6EB6, U+6ED1, U+6EDA, U+6EDE, U+6EE1, U+6EE4-6EE5, U+6F02, U+6F0F, U+6FC0, U+7070, U+707E, U+70AB, U+70B8, U+70E7, U+7194, U+719F, U+7206, U+7231, U+7236, U+7247, U+724C, U+725B, U+7262, U+72AF, U+72B9, U+732E, U+73BB, U+7403, U+745E, U+7483, U+74F6, U+7504, U+751A, U+7532, U+7537, U+753B, U+7578, U+758F, U+7591, U+75AB, U+75BE, U+75C7, U+75D5, U+75DB, U+7624, U+7626, U+764C, U+767B, U+767E, U+76CA, U+76D2, U+76D8, U+76EF, U+76F2, U+76F8, U+7701, U+7720, U+773C, U+7740, U+775B, U+7761, U+7763, U+77BB, U+77ED, U+77FF, U+7834, U+7840, U+7855, U+7891, U+78B0-78B1, U+78E8, U+793E, U+7956, U+795E, U+7968, U+79CD, U+79D2, U+79DF, U+79E9, U+79EF-79F0, U+7A00, U+7A0E, U+7A20, U+7A33, U+7A3D, U+7A3F, U+7A7A, U+7A81, U+7A84, U+7A97, U+7AD9, U+7AFF, U+7B14, U+7B26, U+7B2C, U+7B3C, U+7B54, U+7B5B, U+7BE1, U+7C89, U+7C92, U+7CCA, U+7CD5-7CD6, U+7CDF, U+7D20, U+7D22, U+7D27, U+7D2F, U+7E41, U+7EA0, U+7EA2, U+7EA4, U+7EAA, U+7EAF, U+7EB3, U+7EB5, U+7EB8, U+7EC7-7EC8, U+7ED1, U+7ED5, U+7ED8, U+7EE9-7EEA, U+7EF3, U+7F00, U+7F13, U+7F1D, U+7F29, U+7F30, U+7F34, U+7F5A, U+7FFB, U+8001, U+800C, U+8010, U+8017, U+8026, U+805A, U+806A, U+8089, U+80A0-80A1, U+80BA, U+80BE-80BF, U+80C3, U+80C6, U+80CC-80CD, U+80F6, U+80F8, U+8102, U+8109, U+810F, U+8111, U+811A, U+8131, U+8138, U+817A, U+817F, U+820D, U+822A, U+82AC, U+82B1, U+82E5, U+8349, U+8350, U+8377, U+83B1, U+83B7, U+8499, U+84DD, U+8513, U+853D, U+8584, U+85CF, U+8651, U+865A, U+86CB, U+8861, U+8863, U+8865, U+8870, U+88C1-88C2, U+88F8-88F9, U+897F, U+89C1-89C2, U+89E6, U+8BA2, U+8BAE, U+8BB2, U+8BB8, U+8BC9-8BCA, U+8BD1, U+8BDD, U+8BF1, U+8BFA, U+8BFE, U+8C08, U+8C28, U+8C37, U+8C41, U+8C61, U+8D1F, U+8D21-8D22, U+8D2D, U+8D31, U+8D34-8D35, U+8D4A, U+8D4F, U+8D54, U+8D60, U+8D8B, U+8DC3, U+8DDD, U+8DE4, U+8DF5, U+8EAB, U+8F66, U+8F68, U+8F6C, U+8F6F, U+8F74, U+8F7B, U+8F7D, U+8F85-8F86, U+8F91, U+8F93, U+8F9B, U+8F9E, U+8FA8-8FA9, U+8FBE, U+8FC1, U+8FCE, U+8FDC-8FDD, U+8FDF, U+8FEB, U+8FED, U+8FF7, U+8FF9, U+9000-9001, U+9006, U+900F-9010, U+9014, U+903B-903C, U+903E, U+9047, U+9057, U+9074-9075, U+907F, U+90A3, U+90A6, U+90AE, U+90B3, U+90BB, U+914D, U+915A, U+9170, U+9192, U+91C7, U+91CE, U+9274, U+9488-9489, U+94B1, U+94BB, U+94C1, U+94FA, U+9501, U+951A, U+9547, U+95ED, U+95F2, U+9601, U+9608, U+9633, U+9636, U+963B, U+963F, U+9644, U+9648, U+964D, U+9664, U+9677, U+9690, U+9694, U+969C, U+96C6, U+9732, U+9759, U+975E, U+9769, U+9776, U+97F3, U+987A, U+987E-987F, U+9886, U+9888, U+98DE, U+9910, U+996E, U+9971, U+9988, U+9A6C, U+9A73, U+9A76, U+9AA8, U+9C81, U+9C9C, U+9EA6, U+9EC4, U+9ED1, U+9F13, U+9F20, U+9F84, U+FF5C; }
@font-face { font-family: "HX Noto Sans SC"; font-style: normal; font-display: swap; font-weight: 500;
  src: url("/assets/fonts/noto-sans-sc-500-research.60468e16b9.woff2") format("woff2");
  unicode-range: U+4E19, U+4E43, U+4E9F, U+4EC1, U+4ED4, U+4F0F, U+4FD7-4FD8, U+5012, U+5076, U+513F, U+5144, U+51B0, U+51D1, U+5254, U+5265, U+52D8, U+52E4, U+5300, U+538C, U+53A8, U+53D9, U+53F9, U+5401, U+5403, U+5428, U+548E, U+54E5, U+5531, U+5582, U+5608, U+5706, U+5723, U+574D, U+575B, U+5761, U+5766, U+5806, U+5835, U+5851, U+5899, U+58F3, U+591C, U+592A, U+592E, U+593A, U+5976, U+59A5, U+59FF, U+5A01, U+5B8F, U+5BAB, U+5BBF, U+5BC4, U+5BD2, U+5C0A, U+5C94, U+5C96, U+5D0E, U+5D16, U+5DDD, U+5DE8, U+5E16, U+5E27, U+5EC9, U+5F04, U+5F17, U+5F1F, U+5F26, U+5F2F, U+5F69, U+5F79, U+5F7C, U+5FB7, U+5FD9, U+6000, U+6052, U+6084, U+6094, U+60D5, U+620F, U+624E, U+626D, U+62A2, U+62AC, U+62E2-62E3, U+6321, U+6324-6325, U+632F, U+635E, U+638C, U+63E1, U+63ED, U+6447, U+644A, U+649E, U+6551, U+6597, U+65A5, U+65AF, U+65CB, U+65EC, U+65FA, U+6607, U+6684, U+6717, U+671D, U+672B, U+677E, U+679D, U+67D4, U+6851, U+6865, U+68A6, U+68CB, U+69FD, U+6B47, U+6C5F-6C60, U+6C70, U+6C8C, U+6C9F, U+6CB8, U+6CBE, U+6CF0, U+6D01, U+6D0B, U+6D3C, U+6D45, U+6D51, U+6D59, U+6D6A, U+6DA8, U+6DC6, U+6DD8, U+6DF9, U+6E10, U+6E21, U+6E29, U+6E2F, U+6E32, U+6E7F, U+6EA2, U+706B, U+706F, U+7075-7076, U+708E, U+70BC, U+70C1, U+70C8, U+70E6, U+7126, U+71B5, U+722A, U+7272, U+7275, U+727A, U+72ED, U+731C, U+73A9, U+73ED, U+74F7, U+7545, U+75B2, U+7687, U+76C8, U+76DB, U+76DF, U+76FE, U+7709, U+7784, U+7792, U+77AC, U+77DB, U+7816, U+788E, U+78C1, U+793C, U+7978, U+79A7, U+79E4, U+7A0D, U+7A77, U+7ADF-7AE0, U+7C07, U+7C3F, U+7C73, U+7C97, U+7CB9, U+7CD9, U+7EB2, U+7EB9, U+7F06, U+7F55, U+7F8A, U+808C, U+809D, U+80A5, U+80AF, U+80B2, U+80C1, U+80CE, U+80DE, U+80F0, U+8106, U+8150, U+817E, U+81C2, U+822C, U+8235, U+827A, U+827E, U+82D7, U+8361, U+8367, U+83DC, U+852C, U+8574, U+867D, U+8681-8682, U+88D5, U+8BAF, U+8C13, U+8C1C, U+8C22, U+8D1D, U+8D2A, U+8D4B, U+8D5A, U+8D62, U+8DCC, U+8E29, U+8F99, U+8FC4, U+9003, U+9038, U+906E, U+914C, U+916C, U+9176, U+94A9, U+94AE, U+9505, U+950B, U+9510, U+9526, U+95EA, U+95EF, U+95FB, U+9631, U+9634, U+964C, U+966A, U+9699, U+96B6, U+96C5, U+96C7, U+97E7, U+989C, U+98A0, U+98DF, U+9999, U+9A7C, U+9A97, U+9B54, U+9E3F, U+9EBB; }
@font-face { font-family: "HX Noto Serif SC"; font-style: normal; font-display: swap; font-weight: 400 500;
  src: url("/assets/fonts/noto-serif-sc-400-paper.900520df66.woff2") format("woff2");
  unicode-range: U+7C, U+B7, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+2081-2082, U+2212, U+221A, U+2260, U+2264-2265, U+2502, U+3000-3002, U+3008-300B, U+3010-3011, U+4E00-4E01, U+4E03, U+4E07, U+4E09-4E0B, U+4E0D-4E0E, U+4E13-4E14, U+4E16, U+4E19-4E1A, U+4E1C, U+4E22, U+4E24-4E25, U+4E2A, U+4E2D, U+4E34, U+4E3A-4E3B, U+4E3E, U+4E48-4E49, U+4E4B, U+4E4E-4E50, U+4E59, U+4E5D, U+4E5F-4E60, U+4E66, U+4E70, U+4E86, U+4E89, U+4E8B-4E8C, U+4E8E, U+4E92, U+4E94, U+4E9B, U+4EA1, U+4EA4, U+4EA7, U+4EAB, U+4EBA, U+4EBF-4EC0, U+4EC5, U+4ECB, U+4ECD-4ECE, U+4ED6, U+4ED8, U+4EE3-4EE5, U+4EEC, U+4EF6-4EF7, U+4EFB, U+4EFD, U+4EFF, U+4F01, U+4F18, U+4F1A, U+4F20, U+4F24, U+4F30, U+4F3C, U+4F46, U+4F4D-4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9B, U+4F9D, U+4FA7, U+4FBF, U+4FC3, U+4FDD, U+4FE1, U+4FEE, U+500D, U+5019-501A, U+501F, U+503C, U+5047, U+504F, U+505A, U+505C, U+5065, U+5076, U+50A8, U+50CF, U+5141, U+5143, U+5145, U+5148-5149, U+514D, U+5165, U+5168, U+516B-516D, U+5171, U+5173, U+5176-5178, U+5185, U+518D, U+5199, U+51B2-51B3, U+51B5, U+51BB, U+51C6, U+51CF, U+51D1, U+51E0, U+51ED, U+51FA-51FB, U+51FD, U+5206, U+520A, U+5212, U+5217, U+5219-521B, U+521D, U+5220, U+5224, U+5229, U+522B, U+5230, U+5236-5237, U+5242, U+524A, U+524D, U+5254, U+5269, U+526F, U+5272, U+529B, U+529E-52A1, U+52A3, U+52A8-52A9, U+52B1, U+52B3, U+52BF, U+5305, U+5316, U+5339-533B, U+5341, U+5347, U+534A, U+534E-534F, U+5355, U+5357, U+535A, U+5360-5361, U+536B, U+5370-5371, U+5373-5374, U+5377, U+5382, U+5386, U+538B-538C, U+539F, U+53BB, U+53C2, U+53C8-53CA, U+53CC-53CD, U+53D1, U+53D6-53D9, U+53E0, U+53E3, U+53E5-53E6, U+53EA, U+53EC, U+53EF-53F0, U+53F2-53F3, U+53F6-53F8, U+5404, U+5408, U+540C-540E, U+5410-5411, U+5417, U+541E, U+5426, U+542B, U+542F, U+5448, U+544A, U+5458, U+5468, U+5473, U+547D, U+548C, U+54C1, U+54CD, U+54EA, U+5546, U+5584, U+5668, U+566A, U+56DB, U+56DE, U+56E0, U+56E2, U+56F0, U+56F4, U+56FA, U+56FD-56FE, U+5728, U+5730, U+5733, U+573A, U+5747, U+574D, U+5757, U+575B, U+578B, U+57DF, U+57FA, U+586B, U+5883, U+589E, U+58F0, U+5904, U+5907, U+590D, U+5916, U+591A, U+591F, U+5927, U+5929-592B, U+5931, U+5934, U+5938, U+5956-5957, U+597D, U+5982, U+59CB, U+5A92, U+5B50, U+5B57-5B58, U+5B63-5B64, U+5B66, U+5B83, U+5B88-5B89, U+5B8C, U+5B98, U+5B9A, U+5B9C, U+5B9E, U+5BA1-5BA4, U+5BAB, U+5BB3, U+5BB6, U+5BB9, U+5BBD, U+5BC6, U+5BDF, U+5BF8-5BF9, U+5BFC, U+5C01, U+5C04, U+5C06, U+5C0F, U+5C11, U+5C14, U+5C1D, U+5C24, U+5C31, U+5C3A, U+5C3D-5C3E, U+5C40, U+5C42, U+5C45, U+5C55, U+5C5E, U+5CF0, U+5D4C, U+5DE5-5DE7, U+5DEE, U+5DF1-5DF2, U+5E02-5E03, U+5E08, U+5E0C, U+5E16, U+5E26-5E27, U+5E2E, U+5E38, U+5E42, U+5E45, U+5E72-5E74, U+5E76, U+5E7B, U+5E7F, U+5E8A, U+5E8F, U+5E93-5E95, U+5E97, U+5E9C, U+5EA6-5EA7, U+5EB7, U+5EF6, U+5EFA, U+5F00, U+5F02-5F03, U+5F0F, U+5F15, U+5F18, U+5F20, U+5F26, U+5F31, U+5F3A, U+5F52-5F53, U+5F55, U+5F62, U+5F71, U+5F80-5F81, U+5F84-5F85, U+5F88, U+5F8B, U+5F97, U+5FAA, U+5FAE, U+5FC3, U+5FC5-5FC6, U+5FD7, U+5FE0, U+5FEB, U+5FF5, U+5FFD, U+6000-6001, U+600E, U+601D, U+6025, U+6027, U+603B, U+6052, U+606F-6070, U+6076, U+6094, U+6096, U+60A3, U+60C5, U+60F3, U+610F, U+611F, U+614E, U+61C2, U+620F-6212, U+6216, U+6218, U+622A, U+6233, U+6237, U+623F-6240, U+624B, U+624D, U+6253, U+6263, U+6267, U+6269, U+6279, U+627F-6280, U+628A, U+6291, U+6293, U+6297-6298, U+62A4-62A5, U+62BD, U+62C5-62C6, U+62CD, U+62D2, U+62DF, U+62E6, U+62E9, U+62EC, U+62FC, U+62FF, U+6301, U+6307, U+6309, U+6311, U+6316, U+6325, U+632F, U+635F, U+6362, U+636E, U+6388-6389, U+6392, U+6398, U+63A2, U+63A5, U+63A7-63AA, U+63CF-63D0, U+63ED, U+641C, U+642C, U+6444, U+6458, U+649E, U+64A4, U+64CD-64CE, U+652F, U+6536, U+6539, U+653E-653F, U+6548, U+654F, U+6559, U+6563, U+6570, U+6574, U+6587, U+6599, U+65AD, U+65AF-65B0, U+65B9, U+65BD, U+65CF, U+65E0, U+65E2, U+65E5-65E6, U+65E8-65E9, U+65F6, U+65FA, U+660E, U+6613, U+6620, U+662F, U+663E, U+664B, U+666E-6670, U+667A, U+66B4, U+66F4, U+66FF-6700, U+6708-6709, U+670D, U+671B, U+671D, U+671F, U+672A, U+672C, U+672F, U+673A, U+6742-6743, U+6750, U+675F, U+6761, U+6765, U+677E, U+6781, U+6784, U+6790, U+679A, U+679C, U+67B6, U+67D0, U+67D3-67D4, U+67E5, U+6807, U+680F, U+6811, U+6821, U+6837-6839, U+683C, U+6846, U+6848, U+6863, U+68A6, U+68AF-68B0, U+68B3, U+68C0, U+68EE, U+6982, U+6A21, U+6A2A, U+6B21, U+6B27, U+6B3E, U+6B62-6B65, U+6B7B, U+6B8A-6B8B, U+6BB5, U+6BCD, U+6BCF, U+6BD4, U+6BEB, U+6C14, U+6C34, U+6C42, U+6C47, U+6C61, U+6CA1, U+6CBB, U+6CBF, U+6CD5, U+6CDB, U+6CE8, U+6D1B, U+6D3B, U+6D3D-6D3E, U+6D41, U+6D4B, U+6D4E, U+6D77, U+6D88-6D89, U+6DB5, U+6DC0, U+6DC6, U+6DF1, U+6DF7, U+6E05, U+6E10, U+6E29, U+6E38, U+6E58, U+6E90, U+6EAF, U+6EB6, U+6EDA, U+6EE1, U+6F02, U+6F0F, U+6F14, U+6F5C, U+6FC0, U+7075, U+708E, U+70B9, U+70ED, U+7136, U+7167, U+719F, U+7247-7248, U+7269, U+7279, U+7280, U+72B6, U+72EC-72ED, U+732E, U+7387, U+738B, U+73A9, U+73AF-73B0, U+73BB, U+7406, U+745E, U+7483, U+751A, U+751F, U+7528, U+7531-7532, U+7535, U+753B, U+7545, U+754C, U+7559, U+7565, U+7591, U+7597, U+75B2, U+75C5, U+75C7, U+75D5, U+75DB, U+767D-767E, U+7684, U+76CA, U+76D1, U+76D6, U+76D8, U+76DF, U+76EE, U+76F4, U+76F8, U+7701, U+770B, U+771F, U+773C, U+7740, U+7763, U+77BB, U+77E5, U+77E9, U+77ED, U+77F3, U+7801, U+7814, U+7834, U+7840, U+786E, U+788E, U+78B0, U+78C1, U+793A, U+793C, U+793E, U+7968, U+7981, U+79BB, U+79C1, U+79CD, U+79D1-79D2, U+79EF-79F0, U+79FB, U+7A00, U+7A0B, U+7A0D, U+7A20, U+7A33, U+7A3F, U+7A76, U+7A7A, U+7A81, U+7A84, U+7ACB, U+7AD9, U+7ADE, U+7AE0, U+7AEF, U+7B26, U+7B2C, U+7B49, U+7B54, U+7B56, U+7B5B, U+7B7E, U+7B80, U+7B97, U+7BA1, U+7BC7, U+7BE1, U+7C7B, U+7C89, U+7CBE, U+7CFB, U+7D20, U+7D22, U+7D27, U+7D2F, U+7EA6-7EA7, U+7EAF, U+7EB3, U+7EB9, U+7EBF, U+7EC3-7EC4, U+7EC6-7EC8, U+7ECD, U+7ECF, U+7ED1, U+7ED3, U+7ED5, U+7ED9, U+7EDC-7EDD, U+7EDF, U+7EE7, U+7EEA, U+7EED, U+7EF4, U+7EFC, U+7F00, U+7F06, U+7F13, U+7F16, U+7F29, U+7F3A, U+7F51, U+7F55, U+7F6E, U+7F72, U+7F8E, U+7FA4, U+7FFB, U+8003, U+8005, U+800C, U+8026, U+8054, U+805A, U+8089, U+808C, U+809D, U+80A0, U+80AF, U+80B2, U+80BA, U+80C0, U+80C3, U+80CC, U+80DC, U+80F0, U+80FD, U+8106, U+8111, U+8131, U+817A, U+81A8, U+81C2, U+81EA, U+81F3-81F4, U+820D, U+822A, U+822C, U+826F, U+8272, U+827A, U+8282, U+82B1, U+82E5, U+8303, U+8349, U+8350, U+8361, U+836F, U+83B7, U+8425, U+843D, U+8457, U+8499, U+84B8, U+853D, U+8584, U+85CF, U+8651, U+865A, U+86CB, U+878D, U+884C, U+8861, U+8865, U+8868, U+8870, U+88AB, U+88C1, 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+8A00, U+8B66, U+8BA1-8BA2, U+8BA4, U+8BA8-8BA9, U+8BAD-8BB0, U+8BB8, U+8BBA, U+8BBE-8BBF, U+8BC1, U+8BC4, U+8BC6, U+8BCA, U+8BCD, U+8BD1, U+8BD5, U+8BDD, U+8BE2, U+8BE5-8BE6, U+8BED, U+8BEF, U+8BF4, U+8BF7, U+8BFB, U+8BFE, U+8C03, U+8C08, U+8C22, U+8C28, U+8C31, U+8C61, U+8D1D, U+8D1F, U+8D21-8D23, U+8D25-8D28, U+8D2D, U+8D2F, U+8D34, U+8D39, U+8D44, U+8D56, U+8D70, U+8D77, U+8D85, U+8D8A-8D8B, U+8DB3, U+8DD1, U+8DDD, U+8DDF, U+8DE8, U+8DEF, U+8DF3, U+8DF5, U+8E2A, U+8EAB, U+8F66, U+8F68, U+8F6C, U+8F6E, U+8F7B, U+8F7D, U+8F83, U+8F85, U+8F93, U+8F9B, U+8FB9, U+8FBE, U+8FC1, U+8FC7, U+8FD0-8FD1, U+8FD4, U+8FD8-8FD9, U+8FDB-8FDF, U+8FED, U+8FF0, U+8FF7, U+8FF9, U+8FFD, U+9000, U+9002, U+9006, U+9009, U+900F-9010, U+9012, U+9014, U+901A, U+901F-9020, U+903C, U+9047, U+904D, U+9053, U+9075, U+907F, U+90AE, U+90BB, U+90E8, U+90FD, U+914D, U+9176, U+9192, U+91C7, U+91CA, U+91CC-91CF, U+91D1, U+9488, U+949F, U+94BB, U+94FE, U+9500-9501, U+9519-951A, U+952E, U+957F, U+95E8, U+95ED-95EE, U+95F4, U+95F8, U+9605, U+9608, U+961F, U+9631-9636, U+963B, U+9644-9645, U+964D, U+9650, U+9662, U+9664, U+9669, U+9677, U+968F-9690, U+9694, U+96B6, U+96BE, U+96C5-96C6, U+96F6, U+9700, U+9732, U+9759, U+975E, U+9760, U+9762, U+9875, U+9879-987B, U+987E, U+9884, U+9886, U+9891, U+9898, U+989C-989D, U+98CE, U+98DF, U+9988, U+998F, U+9996, U+9A6C, U+9A71, U+9A76, U+9A7E, U+9A8C, U+9AA4, U+9AA8, U+9AD8, U+9ED8, U+9F20, U+9F50, U+FF01, U+FF05, U+FF08-FF09, U+FF0B-FF0D, U+FF0F, U+FF1A-FF1B, U+FF1D, U+FF1F, U+FF5E; }
@font-face { font-family: "HX Noto Serif SC"; font-style: normal; font-display: swap; font-weight: 600 700;
  src: url("/assets/fonts/noto-serif-sc-700-paper.6458cc8562.woff2") format("woff2");
  unicode-range: U+7C, U+2013, U+201C-201D, U+3000-3002, U+4E00, U+4E09, U+4E0B, U+4E0D-4E0E, U+4E13, U+4E16, U+4E1A, U+4E24, U+4E2A, U+4E2D, U+4E3A-4E3B, U+4E3E, U+4E48-4E49, U+4E60, U+4E89, U+4E8B-4E8C, U+4E8E, U+4E92, U+4E94, U+4EA4, U+4EBA, U+4EC0, U+4ECB, U+4ECE, U+4EE3, U+4EE5, U+4EF6-4EF7, U+4EFB, U+4F01, U+4F1A, U+4F30, U+4F4D-4F4E, U+4F53, U+4F55, U+4F5C, U+4F7F, U+4F8B, U+4FDD, U+4FE1, U+5019, U+503C, U+504F, U+50CF, U+5145, U+5148, U+5165, U+5168, U+516C-516D, U+5173, U+5176, U+5178, U+5185, U+51B3, U+51C6, U+51FA, U+5206, U+5212, U+5219, U+5224, U+5229, U+522B, U+5236, U+526F, U+529B, U+52A1, U+52A8, U+52BF, U+5316, U+5341, U+5357, U+539F, U+53BB, U+53C2, U+53CA, U+53CD, U+53D1, U+53D6-53D8, U+53E3, U+53EF, U+53F7, U+5404, U+5408, U+540C, U+540E, U+5426, U+542B, U+544A, U+5468, U+547D, U+548C, U+54C1, U+54CD, U+54EA, U+5668, U+566A, U+56DB, U+56DE, U+56E0, U+56F4, U+56FA, U+56FD-56FE, U+5728, U+5730, U+573A, U+578B, U+57FA, U+5883, U+590D, U+5916, U+591A, U+5927, U+5931, U+5934, U+597D, U+5982, U+59CB, U+5B66, U+5B89, U+5B9A, U+5B9E, U+5BDF, U+5BF9, U+5C01, U+5C04, U+5C0F, U+5C11, U+5C3A, U+5C40, U+5C42, U+5C55, U+5DE5, U+5DEE, U+5DF2, U+5E03, U+5E38, U+5E72, U+5E74, U+5E7B, U+5E8F, U+5E94, U+5E97, U+5EA6, U+5EFA, U+5F00, U+5F02, U+5F0F, U+5F3A, U+5F52, U+5F55, U+5F62, U+5F71, U+5F81, U+5F8B, U+5FC5, U+5FFD, U+6001, U+601D, U+6027, U+606F, U+6094, U+60A3, U+60C5, U+60F3, U+610F, U+6210, U+6212, U+6216, U+6269, U+627F, U+62A4-62A5, U+62BD, U+62C5, U+62DF, U+62E9, U+6307, U+6309, U+636E, U+6392, U+63A7-63A8, U+63AA, U+641C, U+6458, U+64A4, U+652F, U+6536, U+653E, U+6548, U+6563, U+6570, U+6574, U+6587, U+65AD, U+65B0, U+65B9, U+65BD, U+65F6, U+6620, U+662F, U+666F, U+667A, U+66F4, U+66FF-6700, U+6708-6709, U+671B, U+671F, U+672C, U+673A, U+675F, U+6761, U+6765, U+6784, U+6790, U+679A, U+679C, U+67B6, U+67D3, U+6807, U+6811, U+6821, U+6837-6838, U+6848, U+68C0, U+6982, U+6A21, U+6B21, U+6B65, U+6BD4, U+6C61, U+6CA1, U+6CBB, U+6CD5, U+6CE8, U+6D41, U+6D4B, U+6DC6, U+6DF7, U+6E90, U+6F02, U+6F5C, U+70B9, U+7167, U+7248, U+7269, U+72B6, U+732E, U+7387, U+73AF-73B0, U+7406, U+751F, U+7528, U+754C, U+7559, U+7565, U+75C5, U+7684, U+76CA, U+76D1, U+76EE, U+76F8, U+771F, U+77E5, U+7801, U+7814, U+786E, U+793A, U+7981, U+79CD, U+79FB, U+7A0B, U+7A76, U+7ADE, U+7B2C, U+7B56, U+7B97, U+7BA1, U+7C7B, U+7CFB, U+7D20, U+7D22, U+7EA6-7EA7, U+7EBF, U+7EC3-7EC4, U+7ED1, U+7ED3, U+7EDF, U+7EF4, U+7F13, U+7F16, U+7F29, U+7F3A, U+7F6E, U+7F8E, U+800C, U+8054, U+80FD, U+81EA, U+81F4, U+820D, U+826F, U+8282, U+8303, U+8349, U+8350, U+836F, U+843D, U+884C, U+8861, U+8865, U+8868, U+88AB, U+8981, U+89C1-89C2, U+89C4, U+89C6, U+89C8-89C9, U+89E3, U+8A00, U+8B66, U+8BA1, U+8BAD-8BAE, U+8BB0, U+8BBA, U+8BBE, U+8BC1, U+8BC4, U+8BCD, U+8BED, U+8BEF, U+8BFB, U+8C03, U+8C22, U+8C31, U+8C61, U+8D27-8D28, U+8D8A-8D8B, U+8DB3, U+8DEF, U+8DF5, U+8EAB, U+8F6C, U+8F93, U+8FC7, U+8FD0, U+8FDB, U+9009, U+9014, U+904D, U+90E8, U+91CD, U+91CF, U+9500, U+9519, U+952E, U+95E8, U+95ED, U+95F4, U+9650, U+9669, U+9700, U+9879, U+987B, U+9884, U+9891, U+98CE, U+9A8C, U+9F50, U+FF08-FF09, U+FF0C, U+FF1A, U+FF1F; }

/* ---------- tokens ---------- */
@property --spin { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
:root {
  /* neutrals — Google GM3 */
  --on-surface: #1F1F1F;
  --on-surface-var: #444746;
  --ink-soft: #5F6368;
  --heading: #1F1F1F;
  --outline: #747775;
  --outline-var: #C4C7C5;
  --hairline: #E1E3E1;
  --surface: #FFFFFF;
  --surface-low: #F8FAFD;
  --surface-c: #F0F4F9;
  --surface-high: #E9EEF6;
  --surface-highest: #DDE3EA;
  --inverse: #1F1F1F;
  --on-inverse: #FFFFFF;
  /* primary — logo blue. --primary is the accent for text & strokes, --primary-fill for solid fills under white text */
  --primary: #0156D3;
  --primary-fill: #0156D3;
  --primary-hover: #014AB6;
  --primary-deep: #0842A0;
  --primary-c: #D3E3FD;
  --primary-c-low: #E8F0FE;
  --primary-line: #C2D7F7;
  --on-primary-c: #041E49;
  /* accent — logo orange (flagship SAM) */
  --or: #EB6100;
  --or-hover: #D45700;
  --or-deep: #B84A00;
  --or-c: #FFF1E8;
  --or-line: #FFDCC7;
  /* AI gradient (brand) */
  --grad: linear-gradient(90deg, #0156D3 0%, #3D8BFF 28%, #8B6CF2 55%, #E05A8E 78%, #EB6100 100%);
  /* seamless loop for animated gradient text (period = 2 × element width) */
  --grad-loop: linear-gradient(90deg, #0156D3 0%, #3D8BFF 14%, #8B6CF2 30%, #E05A8E 42%, #EB6100 50%, #E05A8E 58%, #8B6CF2 70%, #3D8BFF 86%, #0156D3 100%);
  --grad-cool: linear-gradient(120deg, #0156D3 0%, #3D8BFF 50%, #8B6CF2 100%);
  --grad-num: linear-gradient(135deg, #0156D3 0%, #3D8BFF 55%, #8B6CF2 100%);
  /* cards */
  --card: var(--surface-c);
  --card-hover: #FFFFFF;
  --card-line: rgba(31, 31, 31, 0);
  --card-shadow: 0 0 0 0 rgba(31, 31, 31, 0);
  --spot: rgba(61, 139, 255, .14);

  --e1: 0 1px 2px 0 rgba(60, 64, 67, .16), 0 1px 3px 1px rgba(60, 64, 67, .08);
  --e2: 0 1px 2px 0 rgba(60, 64, 67, .14), 0 6px 20px -4px rgba(60, 64, 67, .16);
  --e3: 0 2px 6px 0 rgba(60, 64, 67, .10), 0 24px 56px -12px rgba(31, 31, 31, .22);
  --lift: 0 1px 2px rgba(31, 31, 31, .04), 0 24px 48px -20px rgba(1, 86, 211, .30);

  --sans: "Google Sans Flex", "Google Sans", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --display: var(--sans);
  --mono: "Roboto Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;

  --r-xs: 4px; --r-s: 8px; --r-m: 12px; --r-l: 18px; --r-xl: 28px; --r-2xl: 32px; --r-3xl: 48px; --r-full: 999px;
  --wrap: 1232px;
  --gutter: 20px;
  --hdr-h: 64px;
  --sec: 64px;
  --inset: 8px;
  --ease: cubic-bezier(.2, 0, 0, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0c.6 6.6 5.4 11.4 12 12-6.6.6-11.4 5.4-12 12-.6-6.6-5.4-11.4-12-12C6.6 11.4 11.4 6.6 12 0z'/%3E%3C/svg%3E");
}
html[lang="zh-CN"] {
  --sans: "Google Sans Flex CN", "HX Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
}
/* English blocks on Chinese pages (e.g. the careers page body): Latin punctuation and spacing */
html[lang="zh-CN"] [lang="en"] {
  --sans: "Google Sans Flex", "Google Sans", "Helvetica Neue", Arial, "HX Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --display: var(--sans);
  font-family: var(--sans);
}
@media (min-width: 600px) { :root { --gutter: 32px; --inset: 12px; --sec: 80px; } }
@media (min-width: 1024px) { :root { --gutter: 48px; --sec: 96px; --inset: 24px; } }

/* AI panels (.dark sections) and the CTA band: light tinted panels — white cards with a blue hairline */
.dark, .cta__box {
  --card: #FFFFFF;
  --card-hover: #FFFFFF;
  --card-line: rgba(1, 86, 211, .10);
  --card-shadow: 0 1px 2px rgba(1, 86, 211, .05), 0 14px 32px -22px rgba(1, 86, 211, .32);
  --spot: rgba(61, 139, 255, .12);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr-h) + 16px); }
body { margin: 0; background: var(--surface); color: var(--on-surface); font-family: var(--sans); font-size: 16px; line-height: 1.6; font-weight: 400; font-optical-sizing: auto; font-kerning: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
html[lang="zh-CN"] body { line-height: 1.75; }
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1em; text-wrap: pretty; }
h1, h2, h3, h4 { margin: 0; font-family: var(--display); font-weight: 500; line-height: 1.25; text-wrap: balance; color: var(--heading); }
html[lang="zh-CN"] :is(h1, h2, h3, h4) { line-break: strict; overflow-wrap: anywhere; }
html[lang="zh-CN"] h1 { word-break: keep-all; }
@media (min-width: 600px) { html[lang="zh-CN"] :is(h2, h3, h4) { word-break: keep-all; } }
strong { font-weight: 500; color: var(--on-surface); }
ul, ol { margin: 0; padding: 0; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--primary-c); color: var(--on-primary-c); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--surface); color: var(--primary); padding: 10px 16px; border-radius: var(--r-full); box-shadow: var(--e2); font-weight: 500; }
.skip:focus { top: 12px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }

/* ---------- type scale ---------- */
.hero__stat b, .stat b, .kpi b, .metric b, .flow4 li b, .rcase__v b, .formula span, .ineq b, .roles b, .sbx b, .trio__n b, .mf__unit b,
.sam__boss b, .quote-sm b, .avatar, .quote blockquote { font-family: var(--display); font-weight: 500; }
/* display */
.hero h1 { font-size: clamp(34px, 6.4vw, 84px); line-height: 1.06; letter-spacing: -0.028em; }
.phero h1, .nf h1 { font-size: clamp(30px, 4.8vw, 62px); line-height: 1.1; letter-spacing: -0.03em; }
.shead h2, .h2, .cta h2, .trialband h2 { font-size: clamp(28px, 3.6vw, 48px); line-height: 1.14; letter-spacing: -0.025em; }
.hero__stat b, .stat b, .quote blockquote { font-size: clamp(34px, 3.6vw, 52px); line-height: 1.1; letter-spacing: -0.03em; }
/* headline */
.sub-h, .h2--s, .case__h h3, .bio__card h3, .form h2, .road h3 { font-size: clamp(22px, 2.3vw, 30px); line-height: 1.25; letter-spacing: -0.015em; }
.metric b, .flow4 li b, .rcase__v b { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.15; letter-spacing: -0.02em; }
/* title */
.card h3, .feat h3, .caps h3, .cc__col h3, .person h3, .prio h3, .cv__col h3, .stack__gov h3, .icard h3 { font-size: 20px; line-height: 1.32; letter-spacing: -0.01em; font-weight: 500; }
@media (min-width: 1024px) { .card h3, .feat h3, .caps h3, .cc__col h3, .person h3, .prio h3, .cv__col h3, .icard h3 { font-size: 22px; } }
html[lang="zh-CN"] :is(.hero h1, .phero h1, .nf h1, h2, h3, .hero__stat b, .stat b, .quote blockquote, .metric b, .kpi b) { letter-spacing: 0; }
html[lang="zh-CN"] .hero h1 { line-height: 1.18; letter-spacing: .01em; }
html[lang="zh-CN"] :is(.phero h1, .nf h1) { line-height: 1.24; }
html[lang="zh-CN"] :is(.shead h2, .h2, .cta h2, .trialband h2) { line-height: 1.3; }
html[lang="zh-CN"] :is(.card h3, .feat h3, .caps h3, .cc__col h3, .person h3, .prio h3, .cv__col h3, .icard h3) { line-height: 1.45; }
/* body-large (lead) */
.lead, .phero__lead, .shead p, .cta p { font-size: 18px; line-height: 1.6; color: var(--on-surface-var); }
@media (min-width: 1024px) { .phero__lead, .shead p { font-size: 19px; } }
.hero__lead { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; color: var(--on-surface-var); }
html[lang="zh-CN"] :is(.lead, .phero__lead, .shead p, .cta p, .hero__lead) { line-height: 1.85; }
/* label · eyebrow — section label as a mini lockup: gradient tile with the AI sparkle + brand-blue text */
.eyebrow { position: relative; display: flex; align-items: center; gap: 10px; width: max-content; max-width: 100%; font-size: 15px; line-height: 22px; font-weight: 500; letter-spacing: .01em; color: var(--primary); margin-bottom: 20px; }
html[lang="zh-CN"] .eyebrow { font-size: 16px; letter-spacing: .06em; }
.eyebrow::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 7px; background: linear-gradient(135deg, #0156D3 0%, #3D8BFF 45%, #8B6CF2 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 4px 10px -4px rgba(1, 86, 211, .6); }
.eyebrow::after { content: ""; position: absolute; left: 6px; top: 50%; width: 12px; height: 12px; margin-top: -6px; background: #FFFFFF; -webkit-mask: var(--sparkle) center / contain no-repeat; mask: var(--sparkle) center / contain no-repeat; }
/* product lockup (home hero + every page hero): mark + name, about a quarter of the headline size */
.lockup { display: inline-flex; align-items: center; gap: 14px; max-width: 100%; margin: 0 0 30px; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.35; font-weight: 500; color: var(--on-surface); letter-spacing: .005em; }
html[lang="zh-CN"] .lockup { letter-spacing: .06em; }
.lockup__mark { position: relative; flex: none; width: 1.7em; height: 1.7em; border-radius: .52em; background: linear-gradient(135deg, #0156D3 0%, #3D8BFF 38%, #8B6CF2 72%, #E05A8E 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 18px -8px rgba(1, 86, 211, .7); }
.lockup__mark::before { content: ""; position: absolute; inset: 24%; background: #FFFFFF; -webkit-mask: var(--sparkle) center / contain no-repeat; mask: var(--sparkle) center / contain no-repeat; }
.lockup__dot { margin: 0 .35em; color: var(--outline-var); font-weight: 400; }
.phero .lockup { font-size: clamp(16px, 1.4vw, 19px); gap: 12px; margin-bottom: 26px; }
@media (max-width: 599px) { .lockup { flex-direction: column; gap: 12px; margin-bottom: 24px; } .lockup .lockup__name { text-align: center; } .lockup__mark { width: 40px; height: 40px; border-radius: 12px; } }
.lockup__name { text-align: left; text-wrap: balance; }
.lockup b { font-weight: 600; letter-spacing: .02em; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.muted { color: var(--on-surface-var); }
.note { font-size: 14px; line-height: 1.6; color: var(--ink-soft); margin-top: 24px; }
.hl { color: var(--primary); }
:is(h1, h2, h3, .quote blockquote) .hl { background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* ---------- header (glass) ---------- */
.hdr { position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--hdr-h); color: var(--on-surface); background: rgba(255, 255, 255, 0); transition: background-color .3s var(--ease), box-shadow .3s var(--ease); }
/* solid (not blurred) glass: a backdrop blur re-renders on every scroll frame, which low-end devices feel */
.hdr.is-scrolled, body.nav-open .hdr { background: rgba(255, 255, 255, .95); box-shadow: 0 1px 0 rgba(31, 31, 31, .07), 0 8px 24px -16px rgba(31, 31, 31, .2); }
.hdr__bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--grad); transform-origin: 0 50%; transform: scaleX(0); opacity: 0; transition: opacity .3s; pointer-events: none; }
.hdr.is-scrolled .hdr__bar { opacity: 1; }
.hdr__in { height: 100%; display: flex; align-items: center; gap: 24px; }
.hdr__logo { display: flex; align-items: center; flex: none; height: 100%; }
.hdr__logo img { height: 30px; width: auto; }
html[lang="en"] .hdr__logo img { height: 26px; }
.nav { display: none; align-items: center; gap: 2px; margin-left: 12px; height: 100%; }
.nav__item { position: relative; height: 100%; display: flex; align-items: center; }
.nav__link { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; font-size: 14.5px; font-weight: 500; line-height: 20px; color: var(--on-surface-var); border-radius: var(--r-full); background: none; border: 0; cursor: pointer; white-space: nowrap; transition: color .2s, background-color .2s; }
.nav__link:hover, .nav__item.is-open > .nav__link { color: var(--on-surface); background: rgba(31, 31, 31, .05); }
.nav__link[aria-current="page"] { color: var(--on-surface); }
.nav__link[aria-current="page"]::after { content: ""; position: absolute; left: 50%; bottom: -12px; width: 18px; height: 3px; margin-left: -9px; border-radius: 3px; background: var(--grad); }
.nav__caret { width: 10px; height: 10px; flex: none; transition: transform .25s var(--ease); }
.nav__item.is-open .nav__caret { transform: rotate(180deg); }
.nav__badge { display: inline-flex; flex: none; align-items: center; font-size: 11px; font-weight: 500; line-height: 16px; padding: 0 7px; border-radius: var(--r-full); color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #8B6CF2); }
html[lang="en"] .nav .nav__badge { display: none; }
/* (English: the "Flagship" badge stays in the Products menu; the top bar has no room for it next to seven items) */
/* English labels are longer: with the seventh item (Research) keep the compact link padding on wide screens too */
@media (min-width: 1280px) { html[lang="en"] .nav__link { padding: 8px 10px; } }
@media (min-width: 1100px) and (max-width: 1279px) { html[lang="en"] .nav__link { padding: 8px 7px; } }
@media (min-width: 1280px) and (max-width: 1365px) { html[lang="en"] .hdr__txt { display: none; } }
.dd { position: absolute; top: calc(100% - 4px); left: 50%; margin-left: -340px; width: 680px; padding: 10px; border-radius: var(--r-xl); background: #FFFFFF; color: var(--on-surface); box-shadow: 0 0 0 1px rgba(31, 31, 31, .06), var(--e3); opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.985); transform-origin: 50% 0; transition: opacity .2s var(--ease), transform .25s var(--ease-out), visibility 0s linear .25s; }
.nav__item.is-open .dd { opacity: 1; visibility: visible; transform: none; transition: opacity .2s var(--ease), transform .3s var(--ease-out); }
.dd__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.dd__item { position: relative; display: block; padding: 14px 16px 14px 18px; border-radius: var(--r-l); transition: background-color .2s; }
.dd__item::before { content: ""; position: absolute; left: 6px; top: 18px; bottom: 18px; width: 3px; border-radius: 3px; background: var(--grad-cool); opacity: 0; transform: scaleY(.4); transition: opacity .2s, transform .3s var(--ease-out); }
.dd__item:hover { background: var(--surface-c); }
.dd__item:hover::before { opacity: 1; transform: none; }
.dd__item b { display: flex; align-items: center; gap: 8px; font-size: 15.5px; font-weight: 500; line-height: 22px; }
.dd__item > span { display: block; font-size: 14px; color: var(--on-surface-var); line-height: 20px; margin-top: 3px; }
.dd__tag { font-size: 11px; font-weight: 500; line-height: 16px; color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #8B6CF2); padding: 0 7px; border-radius: var(--r-full); }
.dd__foot { margin: 6px 6px 0; padding: 14px 12px 6px; border-top: 1px solid var(--hairline); display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 13.5px; color: var(--on-surface-var); }
.dd__foot a { color: var(--primary); font-weight: 500; white-space: nowrap; }
.dd__foot a:hover { text-decoration: underline; text-underline-offset: 3px; }
.hdr__act { margin-left: auto; display: flex; align-items: center; gap: 6px; flex: none; }
.lang { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--on-surface-var); padding: 8px 12px; border-radius: var(--r-full); white-space: nowrap; transition: background-color .2s, color .2s; }
.lang:hover { color: var(--on-surface); background: rgba(31, 31, 31, .05); }
.lang svg { width: 18px; height: 18px; flex: none; }
.hdr .hdr__cta { display: none; }
.burger { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 0; background: none; cursor: pointer; border-radius: var(--r-full); color: var(--on-surface); }
.burger:hover { background: rgba(31, 31, 31, .05); }
.burger span, .burger span::before, .burger span::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform .3s var(--ease-out), background-color .2s; }
.burger span::before, .burger span::after { content: ""; position: absolute; left: 0; }
.burger span::before { top: -6px; }
.burger span::after { top: 6px; }
.burger[aria-expanded="true"] span { background: transparent; }
.burger[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }
.mnav { position: fixed; inset: var(--hdr-h) 0 0 0; z-index: 49; background: #FFFFFF; color: var(--on-surface); overflow-y: auto; padding: 8px var(--gutter) 40px; display: none; }
.mnav.is-open { display: block; animation: mnavIn .35s var(--ease-out); }
.mnav.is-open > * { animation: mnavItem .5s var(--ease-out) both; }
.mnav.is-open > *:nth-child(2) { animation-delay: .04s; } .mnav.is-open > *:nth-child(3) { animation-delay: .08s; } .mnav.is-open > *:nth-child(4) { animation-delay: .12s; }
.mnav.is-open > *:nth-child(5) { animation-delay: .16s; } .mnav.is-open > *:nth-child(6) { animation-delay: .2s; } .mnav.is-open > *:nth-child(n+7) { animation-delay: .24s; }
@keyframes mnavIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes mnavItem { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.mnav__group { border-bottom: 1px solid var(--hairline); padding: 12px 0; }
.mnav__title { font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .06em; color: var(--ink-soft); margin: 4px 0 6px; }
.mnav a { display: block; padding: 10px 0; font-size: 16px; font-weight: 500; line-height: 24px; }
.mnav a small { display: block; font-size: 14px; line-height: 20px; color: var(--on-surface-var); font-weight: 400; }
.mnav .btn { margin-top: 24px; width: 100%; justify-content: center; }
body.nav-open { overflow: hidden; }
@media (min-width: 480px) { .hdr .hdr__cta { display: inline-flex; } }
@media (min-width: 1100px) { .nav { display: flex; } .burger, .mnav, .mnav.is-open { display: none; } }
@media (min-width: 1100px) and (max-width: 1279px) { .nav__link { padding: 8px 10px; font-size: 14px; } .hdr__in { gap: 12px; } html[lang="en"] .hdr__logo img { height: 22px; } .lang { padding: 8px; } }

/* ---------- buttons & links ---------- */
.btn { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 26px; font-family: var(--sans); font-size: 15.5px; font-weight: 500; line-height: 24px; letter-spacing: .005em; border-radius: var(--r-full); border: 1px solid transparent; cursor: pointer; white-space: nowrap; transition: background-color .2s var(--ease), box-shadow .3s var(--ease), color .2s, border-color .2s, transform .3s var(--ease-out); }
.btn svg { width: 18px; height: 18px; margin-right: -4px; transition: transform .3s var(--ease-out); }
.btn:hover svg { transform: translateX(3px); }
.btn:active { transform: scale(.98); }
.btn--sm { min-height: 40px; padding: 8px 20px; font-size: 14px; line-height: 20px; }
.btn--primary { background: var(--primary-fill); color: #FFFFFF; background-image: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 60%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 2px rgba(1, 86, 211, .3), 0 10px 24px -12px rgba(1, 86, 211, .7); }
.btn--primary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .32) 50%, rgba(255, 255, 255, 0) 70%); transform: translateX(-120%); transition: transform .8s var(--ease-out); }
.btn--primary:hover { background-color: var(--primary-hover); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 2px rgba(1, 86, 211, .3), 0 16px 32px -12px rgba(1, 86, 211, .75); transform: translateY(-1px); }
.btn--primary:hover::after { transform: translateX(120%); }
.btn--ghost, .btn--outline { background: rgba(255, 255, 255, .6); color: var(--on-surface); border-color: var(--outline-var); }
.btn--ghost:hover, .btn--outline:hover { background: #FFFFFF; border-color: var(--on-surface); }
.btn--tonal { background: var(--primary-c); color: var(--on-primary-c); }
.btn--tonal:hover { box-shadow: var(--e1); }
.link { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 500; line-height: 24px; color: var(--primary); background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s var(--ease-out); }
.link svg { width: 18px; height: 18px; transition: transform .3s var(--ease-out); }
.link:hover { background-size: calc(100% - 24px) 1px; }
.link:hover svg { transform: translateX(4px); }
.more-row { margin-top: 40px; }

/* ---------- sections ---------- */
.sec { padding: var(--sec) 0; position: relative; }
.sec--white, .sec--paper { background: var(--surface); }
.sec--tight { padding: 40px 0; }
.dark, .sec--tint { position: relative; isolation: isolate; overflow: hidden; margin-left: var(--inset); margin-right: var(--inset); border-radius: var(--r-2xl); }
@media (min-width: 1024px) { .dark, .sec--tint { border-radius: var(--r-3xl); } }
.sec--tint { background: var(--surface-c); }
.dark { background:
  radial-gradient(60% 50% at 0% 0%, rgba(61, 139, 255, .16), rgba(61, 139, 255, 0) 70%),
  radial-gradient(50% 45% at 100% 0%, rgba(139, 108, 242, .13), rgba(139, 108, 242, 0) 70%),
  radial-gradient(55% 50% at 92% 100%, rgba(235, 97, 0, .07), rgba(235, 97, 0, 0) 70%),
  linear-gradient(180deg, #F8FAFD 0%, #F0F4F9 100%);
  box-shadow: inset 0 0 0 1px rgba(1, 86, 211, .06); }
/* engineering grid fading out from the top edge */
.dark::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(1, 86, 211, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(1, 86, 211, .055) 1px, transparent 1px);
  background-size: 56px 56px; background-position: center top;
  -webkit-mask-image: radial-gradient(90% 70% at 50% 0%, #000 0%, transparent 75%); mask-image: radial-gradient(90% 70% at 50% 0%, #000 0%, transparent 75%); }
/* slow-drifting light */
.dark::after { content: ""; position: absolute; z-index: -1; left: 30%; top: -30%; width: 70%; height: 90%; pointer-events: none; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(61, 139, 255, .14), rgba(61, 139, 255, 0)); animation: drift 22s ease-in-out infinite alternate; animation-play-state: paused; }
.dark.is-live::after { animation-play-state: running; }
@keyframes drift { from { transform: translate3d(-30%, 0, 0) scale(1); } to { transform: translate3d(25%, 18%, 0) scale(1.25); } }
.dark.sec, .sec--tint { padding: var(--sec) 0; }
.dark .wrap, .sec--tint .wrap { padding-left: max(16px, calc(var(--gutter) - var(--inset))); padding-right: max(16px, calc(var(--gutter) - var(--inset))); max-width: calc(var(--wrap) + max(16px, calc(var(--gutter) - var(--inset))) * 2); }
.glow-b { display: none; }
.shead { max-width: 860px; margin-bottom: 56px; }
.wrap > .shead:not(.shead--row), .shead--center { margin-left: auto; margin-right: auto; text-align: center; }
.wrap > .shead:not(.shead--row) .eyebrow, .shead--center .eyebrow { margin-left: auto; margin-right: auto; }
.shead p { margin: 20px 0 0; max-width: 740px; }
.wrap > .shead:not(.shead--row) p, .shead--center p { margin-left: auto; margin-right: auto; }
.shead--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: none; }
.shead--row > div { max-width: 780px; }
.h2 { margin-bottom: 16px; }
.sub-h { margin: 72px 0 24px; }
.spacer { height: 56px; }
.spacer-s { height: 16px; }
.prose p { font-size: 16px; color: var(--on-surface-var); }
.segs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 24px; }
.segs b { font-size: 14px; font-weight: 500; margin-right: 4px; }
.grid { display: grid; gap: 16px; }
@media (min-width: 1024px) { .grid { gap: 20px; } }
@media (min-width: 600px) { .g2, .g3, .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.split { display: grid; gap: 40px; align-items: start; }
@media (min-width: 1024px) { .split { grid-template-columns: 5fr 7fr; gap: 72px; } .split--even { grid-template-columns: 1fr 1fr; } }

/* ---------- aurora + grid backdrop (hero, page hero, CTA) ---------- */
.bgfx { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.bgfx__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(1, 86, 211, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(1, 86, 211, .07) 1px, transparent 1px); background-size: 56px 56px; background-position: center -1px;
  -webkit-mask-image: radial-gradient(60% 55% at 50% 30%, #000 0%, transparent 78%); mask-image: radial-gradient(60% 55% at 50% 30%, #000 0%, transparent 78%); }
.bgfx__orb { position: absolute; border-radius: 50%; will-change: transform; animation: orb 18s ease-in-out infinite alternate; animation-play-state: paused; }
.is-live .bgfx__orb { animation-play-state: running; }
.bgfx__orb--a { width: 62vw; height: 62vw; max-width: 900px; max-height: 900px; left: -14%; top: -38%; background: radial-gradient(closest-side, rgba(61, 139, 255, .30), rgba(61, 139, 255, 0)); }
.bgfx__orb--b { width: 52vw; height: 52vw; max-width: 760px; max-height: 760px; right: -12%; top: -22%; background: radial-gradient(closest-side, rgba(139, 108, 242, .24), rgba(139, 108, 242, 0)); animation-duration: 22s; animation-delay: -6s; }
.bgfx__orb--c { width: 44vw; height: 44vw; max-width: 640px; max-height: 640px; left: 34%; top: 6%; background: radial-gradient(closest-side, rgba(235, 97, 0, .14), rgba(235, 97, 0, 0)); animation-duration: 26s; animation-delay: -12s; }
@keyframes orb { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(6%, 8%, 0) scale(1.12); } 100% { transform: translate3d(-5%, 4%, 0) scale(.94); } }
.bgfx__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 40%; background: linear-gradient(rgba(255, 255, 255, 0), #FFFFFF); }

/* ---------- home hero ---------- */
.hero { position: relative; isolation: isolate; background: var(--surface); padding: calc(var(--hdr-h) + 64px) 0 48px; text-align: center; overflow: hidden; }
@media (min-width: 1024px) { .hero { padding-top: calc(var(--hdr-h) + 96px); } }
.hero.dark { margin: 0; border-radius: 0; }
.hero__txt { max-width: 1000px; margin: 0 auto; }
.hero h1 em { font-style: normal; background: var(--grad-loop) 0 0 / 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: shimmer 9s linear infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }
/* repaint-driven loops run only while their section is on screen */
.hero:not(.is-live) h1 em, .hero:not(.is-live) .announce::before, .nf:not(.is-live) b, :is(.arch, .trio, .mf):not(.is-live) svg { animation-play-state: paused !important; }
.hero__lead { margin: 28px auto 0; max-width: 720px; }
.hero__ctas { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.announce { position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 5px 16px 5px 5px; border-radius: var(--r-full); background: rgba(255, 255, 255, .88); color: var(--on-surface); font-size: 14px; line-height: 20px; text-align: left; box-shadow: 0 8px 24px -16px rgba(1, 86, 211, .5); transition: transform .3s var(--ease-out), box-shadow .3s; }
.announce::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--spin), #0156D3, #3D8BFF, #8B6CF2, #EB6100, #3D8BFF, #0156D3); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: spin 5s linear infinite; }
@keyframes spin { to { --spin: 360deg; } }
.announce:hover { transform: translateY(-1px); box-shadow: 0 12px 28px -14px rgba(1, 86, 211, .6); }
.announce__tag { flex: none; font-size: 12px; font-weight: 500; line-height: 16px; padding: 4px 10px; border-radius: var(--r-full); background: linear-gradient(120deg, #EB6100, #8B6CF2); color: #FFFFFF; }
.announce__txt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.announce svg { flex: none; width: 16px; height: 16px; color: var(--primary); transition: transform .3s var(--ease-out); }
.announce:hover svg { transform: translateX(3px); }
@media (max-width: 560px) { .announce__txt { white-space: normal; } }
.hero .announce { margin: 28px 0 0; }
/* framed media with gradient rim, glow and scroll-linked zoom */
.hero__frame { position: relative; margin: 64px auto 0; padding: 1px; border-radius: calc(var(--r-2xl) + 1px); background: linear-gradient(135deg, rgba(61, 139, 255, .65), rgba(139, 108, 242, .35) 45%, rgba(235, 97, 0, .55)); box-shadow: 0 50px 100px -40px rgba(1, 86, 211, .45), 0 30px 60px -30px rgba(139, 108, 242, .35); transform-origin: 50% 0; will-change: transform; }
@media (min-width: 1024px) { .hero__frame { margin-top: 80px; border-radius: calc(var(--r-3xl) + 1px); } }
.hero__frame .media { margin: 0; }
.js .hero__frame .media img { transform: scale(1.06); transition: transform 1.6s var(--ease-out); }
.js .hero__frame.is-in .media img { transform: scale(1); }
/* scanning light across the hero image */
.hero__frame .media::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: auto; height: 36%; box-shadow: none; border-radius: 0; pointer-events: none; background: linear-gradient(180deg, rgba(168, 199, 250, 0), rgba(168, 199, 250, .16) 85%, rgba(255, 255, 255, .5) 100%); transform: translateY(-110%); animation: scan 7s cubic-bezier(.45, 0, .2, 1) infinite; animation-play-state: paused; }
.hero.is-live .hero__frame .media::after { animation-play-state: running; }
@keyframes scan { 0% { transform: translateY(-110%); opacity: 0; } 10% { opacity: 1; } 55% { opacity: 1; } 70%, 100% { transform: translateY(300%); opacity: 0; } }
.hero__frame .media::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); pointer-events: none; }
/* corner ticks (HUD) */
/* 首页首屏轮播：交叉淡入 + 推镜（Ken Burns）；控制条浮在图片底部 */
.hcar__track { position: absolute; inset: 0; z-index: 0; }
.hcar__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.4s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 1.4s; }
.hcar__slide.is-active { opacity: 1; visibility: visible; z-index: 1; transition: opacity 1.4s cubic-bezier(.4, 0, .2, 1); }
.hcar__slide picture { transform: scale(1.1) translate3d(0, 0, 0); transform-origin: 50% 45%; transition: transform 9s cubic-bezier(.2, 0, .2, 1) 0s; will-change: transform; }
.hcar__slide.is-active picture { transform: scale(1); }
.hcar__slide:nth-child(even) picture { transform-origin: 62% 40%; }
.hcar__ctrl { position: absolute; left: 50%; bottom: 14px; z-index: 3; display: flex; align-items: center; gap: 4px; padding: 5px 6px 5px 10px; border-radius: var(--r-full); background: rgba(31, 31, 31, .34); -webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); transform: translateX(-50%); }
@media (min-width: 1024px) { .hcar__ctrl { bottom: 26px; } }
.hcar__dot { position: relative; width: 22px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; }
.hcar__dot i { position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: var(--r-full); background: rgba(255, 255, 255, .5); overflow: hidden; transition: width .5s cubic-bezier(.2, 0, 0, 1), margin-left .5s cubic-bezier(.2, 0, 0, 1), background-color .3s; }
.hcar__dot:hover i { background: rgba(255, 255, 255, .85); }
.hcar__dot.is-active { width: 34px; }
.hcar__dot.is-active i { width: 26px; margin-left: -13px; background: rgba(255, 255, 255, .35); }
.hcar__dot i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #FFFFFF; transform: scaleX(0); transform-origin: 0 50%; }
.hcar__dot.is-active i::after { transform: scaleX(1); }
.hcar.is-playing .hcar__dot.is-active i::after { transform: scaleX(0); animation: hcarFill var(--hcar-dur, 5.5s) linear forwards; }
.hcar.is-held .hcar__dot.is-active i::after { animation-play-state: paused; }
@keyframes hcarFill { to { transform: scaleX(1); } }
.hcar__btn { display: grid; place-items: center; width: 28px; height: 28px; margin-left: 2px; padding: 0; border: 0; border-radius: var(--r-full); background: rgba(255, 255, 255, .14); color: #FFFFFF; cursor: pointer; transition: background-color .2s; }
.hcar__btn:hover { background: rgba(255, 255, 255, .28); }
.hcar__btn svg { width: 14px; height: 14px; }
.hcar .hcar__i-play, .hcar.is-playing .hcar__i-pause { display: block; }
.hcar .hcar__i-pause, .hcar.is-playing .hcar__i-play { display: none; }
.hcar__dot:focus-visible, .hcar__btn:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 1px; border-radius: var(--r-full); }
.hcar__ctrl { opacity: 0; transition: opacity .6s .9s; }
.hero__frame.is-in .hcar__ctrl { opacity: 1; }
html:not(.js) .hcar__ctrl { display: none; }
@media (prefers-reduced-motion: reduce) { .hcar__slide, .hcar__slide picture { transition: opacity .3s linear !important; transform: none !important; } }
.hud { position: absolute; inset: 18px; z-index: 2; pointer-events: none; }
.hud i { position: absolute; width: 18px; height: 18px; border: 0 solid rgba(255, 255, 255, .7); }
.hud i:nth-child(1) { left: 0; top: 0; border-left-width: 2px; border-top-width: 2px; border-top-left-radius: 6px; }
.hud i:nth-child(2) { right: 0; top: 0; border-right-width: 2px; border-top-width: 2px; border-top-right-radius: 6px; }
.hud i:nth-child(3) { left: 0; bottom: 0; border-left-width: 2px; border-bottom-width: 2px; border-bottom-left-radius: 6px; }
.hud i:nth-child(4) { right: 0; bottom: 0; border-right-width: 2px; border-bottom-width: 2px; border-bottom-right-radius: 6px; }
@media (min-width: 1024px) { .hud { inset: 28px; } }
.hero__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 16px; padding: 56px 0 8px; }
.hero__stat { position: relative; }
.hero__stat b { display: block; font-variant-numeric: tabular-nums; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; padding-bottom: .04em; }
.hero__stat b small, .stat b small { font-family: var(--sans); font-size: .4em; font-weight: 500; color: var(--primary); -webkit-text-fill-color: currentColor; margin-left: 4px; vertical-align: .75em; letter-spacing: 0; }
.hero__stat span { display: block; margin: 12px auto 0; max-width: 250px; font-size: 15px; line-height: 22px; color: var(--on-surface-var); text-wrap: balance; }
@media (min-width: 900px) {
  .hero__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-top: 72px; }
  .hero__stat + .hero__stat::before { content: ""; position: absolute; left: -8px; top: 12%; bottom: 12%; width: 1px; background: linear-gradient(rgba(1, 86, 211, 0), rgba(1, 86, 211, .22), rgba(1, 86, 211, 0)); }
}

/* ---------- page hero ---------- */
.phero { position: relative; isolation: isolate; overflow: hidden; background: var(--surface); padding: calc(var(--hdr-h) + 48px) 0 56px; text-align: center; }
@media (min-width: 1024px) { .phero { padding: calc(var(--hdr-h) + 80px) 0 80px; } }
.phero.dark { margin: 0; border-radius: 0; }
.crumbs { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 8px; font-size: 13.5px; line-height: 20px; color: var(--ink-soft); margin-bottom: 24px; }
.crumbs a { color: var(--on-surface-var); transition: color .2s; }
.crumbs a:hover { color: var(--primary); }
.crumbs > span:last-child { color: var(--on-surface); }
.crumbs span[aria-hidden] { color: var(--outline-var); }
.phero .eyebrow { margin-left: auto; margin-right: auto; }
.phero h1 { max-width: 1040px; margin: 0 auto; }
.phero__lead { margin: 24px auto 0; max-width: 780px; }
.phero .hero__ctas { justify-content: center; }
.phero__kv { margin-top: 36px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.kv { display: inline-flex; align-items: center; padding: 7px 16px; border-radius: var(--r-full); font-size: 14px; line-height: 20px; color: var(--on-surface-var); background: rgba(255, 255, 255, .82); box-shadow: inset 0 0 0 1px var(--hairline); }
.kv b { color: var(--on-surface); font-weight: 500; }
.phero .media { will-change: transform; transform-origin: 50% 0; box-shadow: 0 40px 90px -45px rgba(1, 86, 211, .5); }

/* ---------- image carousel (SAM hero) ---------- */
.car { margin: 56px auto 0; text-align: left; }
@media (min-width: 1024px) { .car { margin-top: 72px; } }
.car__view { position: relative; overflow: hidden; border-radius: var(--r-2xl); background: var(--surface-c); aspect-ratio: 16 / 10; touch-action: pan-y; box-shadow: 0 40px 90px -45px rgba(1, 86, 211, .55); }
.car__view::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); pointer-events: none; }
@media (min-width: 720px) { .car__view { aspect-ratio: 16 / 7; } }
@media (min-width: 1024px) { .car__view { border-radius: var(--r-3xl); } }
.car__track { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.car__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s var(--ease), visibility 0s linear 1s; }
.car__slide.is-active { opacity: 1; visibility: visible; transition: opacity 1s var(--ease); }
.car__slide picture, .car__slide img { display: block; width: 100%; height: 100%; }
.car__slide img { object-fit: cover; object-position: 50% 45%; transform: scale(1.08); transition: transform 7.5s cubic-bezier(.2, 0, .2, 1); }
.car__slide.is-active img { transform: scale(1); }
.car__bar { display: grid; gap: 20px; margin-top: 28px; }
@media (min-width: 900px) { .car__bar { grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 48px; } }
.car__caps { display: grid; }
.car__cap { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(8px); filter: blur(4px); transition: opacity .5s var(--ease), transform .6s var(--ease-out), filter .5s, visibility 0s linear .5s; }
.car__cap.is-active { opacity: 1; visibility: visible; transform: none; filter: none; transition: opacity .5s var(--ease) .15s, transform .7s var(--ease-out) .15s, filter .5s .15s; }
.car__n { display: block; font-size: 13px; line-height: 20px; font-weight: 500; letter-spacing: .08em; color: var(--primary); font-variant-numeric: tabular-nums; }
.car .car__t { margin: 6px 0 8px; font-size: 22px; line-height: 1.3; letter-spacing: -0.01em; }
.car__cap p { margin: 0; max-width: 760px; font-size: 16px; line-height: 1.65; color: var(--on-surface-var); }
@media (max-width: 899px) { .car__ctrl { order: -1; } }
html[lang="zh-CN"] .car__cap p { line-height: 1.8; }
.car__ctrl { display: flex; align-items: center; gap: 8px; }
.car__dots { display: flex; align-items: center; gap: 6px; margin-right: 8px; }
.car__dot { position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: var(--r-full); background: var(--outline-var); cursor: pointer; overflow: hidden; transition: width .4s var(--ease-out), background-color .2s; }
.car__dot::before { content: ""; position: absolute; inset: -12px -4px; }
.car__dot:hover { background: var(--outline); }
.car__dot.is-active { width: 44px; background: var(--primary-c); }
.car__dot.is-active::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--grad-cool); transform-origin: left center; transform: scaleX(1); }
.car.is-playing .car__dot.is-active::after { animation: carfill 6s linear forwards; }
.car.is-held .car__dot.is-active::after { animation-play-state: paused; }
@keyframes carfill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.car__btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: var(--r-full); background: var(--surface-c); color: var(--on-surface); cursor: pointer; transition: background-color .2s, transform .3s var(--ease-out); }
.car__btn:hover { background: var(--surface-high); }
.car__btn:active { transform: scale(.94); }
.car__btn svg { width: 20px; height: 20px; }
.car__i-play { display: none; }
.car:not(.is-playing) .car__i-pause { display: none; }
.car:not(.is-playing) .car__i-play { display: block; }
html:not(.js) .car__ctrl { display: none; }
@media (max-width: 599px) { .car__btn { width: 44px; height: 44px; } .car .car__t { font-size: 20px; } }
@media (prefers-reduced-motion: reduce) { .car__slide img, .car__slide.is-active img { transform: none; transition: none; } }

/* ---------- card surfaces: spotlight + gradient rim (shared) ---------- */
.card, .icard, .feat > div, .stage, .person, .cv__col, .metric, .stat, .road li, .hxc, .lyr, .gate, .sbx, .bio__card, .case, .cc__col, .uc, .planes li, .regs li, .honors li, .five li, .roles li, .ineq div, .zone, .vrow, .arch__col, .pipe, .trio__n {
  position: relative; isolation: isolate; box-shadow: inset 0 0 0 1px var(--card-line), var(--card-shadow);
}
.fx-rim::before, .fx-spot::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .35s var(--ease); }
.fx-spot::after { z-index: -1; background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 0%), var(--spot), transparent 55%); }
.fx-rim::before { z-index: 2; padding: 1px; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(61, 139, 255, .9), rgba(139, 108, 242, .55) 40%, rgba(235, 97, 0, 0) 75%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.fx-spot:hover::after, .fx-rim:hover::before { opacity: 1; }

/* ---------- cards ---------- */
.card { background: var(--card); border-radius: var(--r-xl); padding: 24px; transition: background-color .3s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease-out); }
@media (min-width: 1024px) { .card { padding: 32px; } }
.card--pad-l { padding: 32px; }
a.card:hover, .card--hover:hover { background: var(--card-hover); box-shadow: inset 0 0 0 1px var(--card-line), var(--lift); transform: translateY(-3px); }
.sec--tint .card { background: var(--surface); }
.card__kicker { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 500; line-height: 20px; letter-spacing: .04em; color: var(--primary); margin-bottom: 14px; font-variant-numeric: tabular-nums; }
.card p { margin: 12px 0 0; color: var(--on-surface-var); font-size: 16px; line-height: 1.6; }
html[lang="zh-CN"] .card p { line-height: 1.75; }
.card__foot { margin-top: 24px; }
.card ul.dots { margin-top: 16px; }
.card--flag { background: linear-gradient(160deg, #FFF1E8, #FFFFFF 70%); box-shadow: inset 0 0 0 1.5px var(--or); }
a.card--flag:hover { background: linear-gradient(160deg, #FFF1E8, #FFFFFF 70%); box-shadow: inset 0 0 0 1.5px var(--or), 0 24px 48px -20px rgba(235, 97, 0, .35); }
.card--flag .card__kicker { color: var(--or-deep); }
.q { display: inline-block; margin-top: 16px; font-size: 14px; line-height: 20px; color: var(--on-surface-var); padding: 6px 12px; background: var(--surface); border-radius: var(--r-s); }
.q b { color: var(--primary); font-weight: 500; }
.dark .q, .sec--tint .q { background: var(--surface-c); }
.dl { margin: 16px 0 0; display: grid; gap: 4px; font-size: 15px; }
.dl dt { font-size: 12px; line-height: 16px; color: var(--ink-soft); font-weight: 500; letter-spacing: .06em; margin-top: 10px; }
.dl dd { margin: 0; color: var(--on-surface); line-height: 1.65; }

ul.dots { list-style: none; display: grid; gap: 10px; }
ul.dots li { position: relative; padding-left: 20px; color: var(--on-surface-var); font-size: 15px; line-height: 1.65; }
ul.dots li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--grad-cool); box-shadow: 0 0 0 3px rgba(61, 139, 255, .12); }
ul.checks { list-style: none; display: grid; gap: 14px; }
ul.checks li { position: relative; padding-left: 36px; font-size: 16px; line-height: 1.65; color: var(--on-surface-var); }
ul.checks li::before { content: ""; position: absolute; left: 0; top: .12em; width: 24px; height: 24px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat, var(--grad-cool); box-shadow: 0 4px 10px -4px rgba(1, 86, 211, .6); }
ul.nos li::before { background: var(--surface-high) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%23444746' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 12px no-repeat; box-shadow: none; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; padding: 5px 13px; border-radius: var(--r-full); font-size: 14px; line-height: 20px; background: var(--surface); border: 1px solid var(--outline-var); color: var(--on-surface-var); }
.chip--or { background: var(--or-c); border-color: var(--or-line); color: var(--or-deep); font-weight: 500; }
.chip--bl { background: var(--primary-c-low); border-color: var(--primary-line); color: var(--on-primary-c); font-weight: 500; }

/* ---------- stats ---------- */
.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 1024px) { .stats { gap: 16px; } }
.stat { padding: 28px 24px; border-radius: var(--r-xl); background: var(--card); overflow: hidden; }
.sec--tint .stat { background: var(--surface); }
.stat b { display: block; font-variant-numeric: tabular-nums; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; padding-bottom: .04em; }
.stat span { display: block; font-size: 14px; color: var(--on-surface-var); margin-top: 12px; line-height: 1.55; }
.stat em { display: block; font-style: normal; font-size: 12px; color: var(--ink-soft); margin-top: 4px; line-height: 1.5; }
@media (min-width: 900px) { .stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .stats--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.stats--5 .stat b { font-size: clamp(28px, 2.7vw, 40px); }
.stats--5 .stat { padding: 24px 20px; }
.stats--5 .stat b { font-size: clamp(28px, 2.7vw, 40px); }
.stats--5 .stat { padding: 24px 20px; }

/* ---------- clients ---------- */
.clients { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.client { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; min-height: 104px; padding: 16px 12px; border-radius: var(--r-l); border: 1px solid var(--hairline); background: var(--surface); transition: border-color .3s, box-shadow .3s, transform .3s var(--ease-out); }
.client:hover { border-color: var(--primary-line); box-shadow: 0 16px 32px -20px rgba(1, 86, 211, .4); transform: translateY(-2px); }
.client b { font-family: var(--display); font-size: 17px; font-weight: 500; color: var(--on-surface); line-height: 1.35; }
.client span { font-size: 12px; color: var(--ink-soft); margin-top: 4px; line-height: 1.4; }
@media (min-width: 600px) { .clients { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .clients { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; } }
.clients-lbl { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; margin-bottom: 24px; font-size: 14px; color: var(--on-surface-var); }
.clients-lbl b { color: var(--on-surface); font-size: 16px; font-weight: 500; }

/* ---------- home ---------- */
.pline { display: grid; gap: 16px; }
@media (min-width: 600px) { .pline { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pline { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.pline .card { display: flex; flex-direction: column; }
.pline .card .card__foot { margin-top: auto; padding-top: 24px; }
.pline__n { position: absolute; top: 28px; right: 28px; font-size: 14px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.home-pillars { margin-top: 56px; }
.home-tags { margin-top: 36px; justify-content: center; }
.premise-chips { margin-top: 20px; }
.ineq-title { font-family: var(--display); font-size: 22px; font-weight: 500; margin: 56px 0 16px; text-align: center; color: var(--heading); }
.rcase__v { margin: 20px 0 16px; padding: 16px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.rcase__v b { display: block; color: var(--primary); font-variant-numeric: tabular-nums; }
.rcase__v span { font-size: 14px; color: var(--on-surface-var); }
.person--mini { padding: 24px; }
.person--mini .person__top { margin-bottom: 12px; }
.person--mini .person__role { margin-bottom: 8px; }
.person--mini p { font-size: 14px; line-height: 1.7; }

.flow4 { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .flow4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .flow4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.flow4 li { position: relative; border-radius: var(--r-xl); background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); padding: 24px; }
.flow4 li:last-child { background: linear-gradient(140deg, #0156D3, #3D8BFF 60%, #8B6CF2); box-shadow: 0 24px 48px -24px rgba(1, 86, 211, .7); }
.flow4 li small { font-size: 12px; font-weight: 500; color: var(--ink-soft); letter-spacing: .06em; }
.flow4 li b { display: block; margin: 8px 0; color: var(--heading); font-variant-numeric: tabular-nums; }
.flow4 li strong { display: block; font-size: 16px; font-weight: 500; color: var(--primary); }
.flow4 li span { display: block; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; margin-top: 4px; }
.flow4 li:last-child :is(small, b, strong, span) { color: #FFFFFF; }
@media (min-width: 1100px) { .flow4 li:not(:last-child)::after { content: ""; position: absolute; right: -14px; top: 50%; width: 24px; height: 24px; margin-top: -12px; border-radius: 50%; background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3.5 10.5 8 6 12.5' fill='none' stroke='%230156D3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; box-shadow: 0 0 0 1px var(--primary-line), 0 4px 12px -4px rgba(1, 86, 211, .4); z-index: 1; } }

/* ---------- diagram: agent = brain + hands + reins ---------- */
.agent-eq { border-radius: var(--r-full); padding: 14px 28px; background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); font-weight: 500; text-align: center; font-size: 16px; line-height: 1.6; margin: 0 auto 24px; max-width: 900px; }
.layers { display: grid; gap: 16px; }
@media (min-width: 1024px) { .layers { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lyr { border-radius: var(--r-xl); background: var(--card); overflow: hidden; display: flex; flex-direction: column; }
.lyr__h { padding: 22px 24px 8px; }
.lyr__h b { display: flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 21px; font-weight: 500; color: var(--heading); }
.lyr__h span { display: block; font-size: 14px; color: var(--on-surface-var); margin-top: 2px; }
.lyr--gov, .dark .lyr--gov { background: linear-gradient(160deg, #0156D3, #0842A0 55%, #3D2E8C); box-shadow: 0 24px 48px -24px rgba(1, 86, 211, .7); }
.lyr--gov .lyr__h b, .lyr--gov .lyr__h span { color: #FFFFFF; }
.lyr--gov li { border-color: rgba(255, 255, 255, .2) !important; }
.lyr.lyr--gov li b { color: #FFFFFF; }
.lyr.lyr--gov li span { color: rgba(255, 255, 255, .82); }  /* (two classes: must outrank .lyr li span below) */
.lyr--gov li i { background: #FFFFFF; color: #0156D3; }
.lyr__must { font-family: var(--sans); font-size: 12px; font-weight: 500; line-height: 16px; background: linear-gradient(120deg, #EB6100, #8B6CF2); color: #FFFFFF; padding: 2px 10px; border-radius: var(--r-full); }
.lyr ol { list-style: none; padding: 4px 20px 16px; display: grid; }
.lyr li { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hairline); }
.lyr li:last-child { border-bottom: 0; }
.lyr li i, .hxc li i, .stage__h i { font-style: normal; font-family: var(--sans); width: 28px; height: 28px; border-radius: 50%; background: var(--primary-c); color: var(--on-primary-c); font-size: 13px; font-weight: 500; display: flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; }
.lyr li b { display: block; font-size: 16px; font-weight: 500; line-height: 1.5; }
.lyr li span { display: block; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; }
.foot-bar { margin-top: 16px; padding: 18px 24px; border-radius: var(--r-xl); background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); font-size: 15px; line-height: 1.75; color: var(--on-surface); text-align: center; }
.foot-bar b, .foot-bar strong { color: var(--primary); }

/* Harness: 15 modules */
.hx3 { display: grid; gap: 16px; }
@media (min-width: 1024px) { .hx3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.hxc { border-radius: var(--r-xl); background: var(--card); overflow: hidden; }
.hxc__h { padding: 24px 24px 12px; }
.hxc__h b { font-family: var(--display); font-size: 21px; font-weight: 500; display: block; color: var(--heading); }
.hxc__h span { font-size: 14px; color: var(--on-surface-var); display: block; margin-top: 4px; line-height: 1.55; }
.hxc ol { list-style: none; padding: 8px 12px 12px; display: grid; gap: 8px; }
.hxc li { background: var(--surface); border-radius: var(--r-l); padding: 14px 16px 14px 56px; position: relative; }
.dark .hxc li { background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.hxc li i { position: absolute; left: 16px; top: 14px; }
.hxc li.is-bl i { background: var(--grad-cool); color: #FFFFFF; }
.hxc li b { display: block; font-size: 15px; font-weight: 500; line-height: 1.5; }
.hxc li span { display: block; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; margin-top: 2px; }

/* P&E-Hope stack */
.stack { display: grid; gap: 16px; }
@media (min-width: 1100px) { .stack { grid-template-columns: minmax(0, 1fr) 260px; } }
.stack__layers { display: grid; gap: 8px; }
.sl { display: grid; grid-template-columns: 1fr; border-radius: var(--r-xl); background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); overflow: hidden; transition: transform .3s var(--ease-out); }
.sl:hover { transform: translateX(4px); }
@media (min-width: 720px) { .sl { grid-template-columns: 170px 1fr; } }
.sl__n { padding: 16px 20px; display: flex; flex-direction: column; justify-content: center; }
.sl__n small { font-size: 12px; font-weight: 500; color: var(--ink-soft); letter-spacing: .06em; }
.sl__n b { font-family: var(--display); font-size: 17px; font-weight: 500; line-height: 1.35; color: var(--heading); }
.sl__n em { font-style: normal; align-self: flex-start; margin-top: 6px; font-size: 12px; font-weight: 500; line-height: 16px; background: linear-gradient(120deg, #EB6100, #8B6CF2); color: #FFFFFF; padding: 2px 10px; border-radius: var(--r-full); }
.sl--new, .dark .sl--new { background: linear-gradient(120deg, var(--primary-c), var(--primary-c-low)); box-shadow: inset 0 0 0 1px var(--primary-line); }
.sl--new .sl__n b { color: var(--on-primary-c); }
.sl__c { padding: 12px 16px; display: flex; flex-wrap: wrap; gap: 8px; align-content: center; }
.pill { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 6px 14px; border-radius: var(--r-full); background: var(--surface); font-size: 14px; line-height: 1.5; color: var(--on-surface-var); box-shadow: inset 0 0 0 1px var(--hairline); }
.pill b { color: var(--primary); font-weight: 500; }
.sl--new .pill b { color: var(--on-primary-c); }
.stack__gov { border-radius: var(--r-xl); background: linear-gradient(160deg, #0156D3, #0842A0 60%, #3D2E8C); color: #FFFFFF; padding: 24px 20px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 24px 48px -24px rgba(1, 86, 211, .7); }
.stack__gov h3 { text-align: center; color: #FFFFFF; }
.stack__gov > span { text-align: center; font-size: 14px; margin-top: -6px; }
.stack__gov ul { list-style: none; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1100px) { .stack__gov ul { grid-template-columns: 1fr; } }
.stack__gov li { text-align: center; font-size: 14px; font-weight: 500; padding: 10px 8px; border-radius: var(--r-full); background: rgba(255, 255, 255, .96); color: #0156D3; }
.stack__gov p { margin: auto 0 0; text-align: center; font-size: 13px; line-height: 1.6; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .3); }

/* Integration architecture */
.arch { display: grid; gap: 16px; align-items: stretch; }
@media (min-width: 1100px) { .arch { grid-template-columns: 1fr 40px 1.7fr 40px 1fr; } }
.arch__col { border-radius: var(--r-xl); background: var(--card); overflow: hidden; display: flex; flex-direction: column; }
.arch__h { color: var(--heading); text-align: center; font-family: var(--display); font-weight: 500; padding: 18px 12px 4px; letter-spacing: .12em; font-size: 14.5px; }
.arch__b { padding: 12px 16px 16px; display: grid; gap: 10px; align-content: start; flex: 1; }
.arch__box { border-radius: var(--r-l); padding: 14px 16px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); }
.arch__box > b { display: block; font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.arch__box .chip { margin: 0 4px 6px 0; }
.arch__box--fl, .dark .arch__box--fl { background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.arch__box--fl > b { color: var(--on-primary-c); }
.arch__box p { margin: 0; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; }
.arch__arrow { display: flex; align-items: center; justify-content: center; color: var(--primary); flex-direction: column; font-size: 12px; text-align: center; line-height: 1.4; }
.arch__arrow span { color: var(--on-surface-var); }
.arch__arrow svg { width: 24px; height: 24px; transform: rotate(90deg); }
@media (min-width: 1100px) { .arch__arrow svg { transform: none; animation: nudge 1.8s var(--ease) infinite; } }
@keyframes nudge { 0%, 100% { transform: translateX(-2px); opacity: .6; } 50% { transform: translateX(3px); opacity: 1; } }
.eng { display: grid; gap: 12px; }
@media (min-width: 600px) { .eng__top { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; } }
.eng__card { border-radius: var(--r-l); padding: 16px; color: #FFFFFF; background: linear-gradient(140deg, #EB6100, #D45700); box-shadow: 0 16px 32px -18px rgba(235, 97, 0, .8); }
.eng__card--dh { background: linear-gradient(140deg, #0156D3, #3D8BFF); box-shadow: 0 16px 32px -18px rgba(1, 86, 211, .8); }
.eng__card small { font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.eng__card b { display: block; font-family: var(--display); font-size: 18px; font-weight: 500; margin: 2px 0 6px; }
.eng__card span { font-size: 13px; line-height: 1.55; display: block; }
.eng__mid { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; text-align: center; padding: 8px 0; }
.eng__mid i { font-style: normal; color: var(--or-deep); font-weight: 500; }
.eng__mid i.b { color: var(--primary); }
.eng__ups { display: flex; justify-content: space-around; gap: 8px; font-size: 12px; color: var(--primary); text-align: center; }
.eng__vdc { border: 1.5px solid var(--primary); border-radius: var(--r-l); padding: 14px 16px; text-align: center; background: var(--surface); }
.eng__vdc b { color: var(--primary); font-family: var(--display); font-size: 18px; font-weight: 500; display: block; }
.eng__vdc span { font-size: 13px; color: var(--on-surface-var); }
.applist { list-style: none; display: grid; gap: 8px; }
.applist li { border-radius: var(--r-full); padding: 8px 16px; font-size: 14px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); line-height: 1.45; }

/* Pipelines */
.pipe { border-radius: var(--r-xl); background: var(--card); overflow: hidden; }
.pipe + .pipe { margin-top: 16px; }
.pipe__h { padding: 22px 24px 4px; display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; }
.pipe__h b { font-family: var(--display); font-size: 20px; font-weight: 500; color: var(--heading); }
.pipe__h span { font-size: 14px; color: var(--on-surface-var); }
.pipe__steps { list-style: none; padding: 12px 16px 16px; display: grid; gap: 8px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .pipe__steps { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); } }
.pipe__steps li { position: relative; border-radius: var(--r-l); padding: 12px 14px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); font-size: 14px; line-height: 1.5; display: flex; flex-direction: column; justify-content: center; min-height: 76px; }
.pipe__steps li b { font-size: 14.5px; font-weight: 500; }
.pipe__steps li span { font-size: 12.5px; color: var(--on-surface-var); margin-top: 4px; }
.pipe__steps li.is-core { background: linear-gradient(140deg, #0156D3, #3D8BFF 70%, #8B6CF2); box-shadow: 0 16px 32px -18px rgba(1, 86, 211, .8); }
.pipe__steps li.is-core b, .pipe__steps li.is-core span { color: #FFFFFF; }
.pipe__note { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 32px; padding: 4px 16px 18px; font-size: 14px; color: var(--on-surface-var); }
.pipe__note span::before { content: "▲ "; color: var(--primary); }
.pipe__note span.dn::before { content: "▼ "; color: var(--or); }

/* SAM agent group (flagship → orange) */
.sam { display: grid; gap: 12px; }
.sam__boss { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--r-xl); padding: 26px 28px; color: #FFFFFF; background: linear-gradient(120deg, #EB6100 0%, #D45700 45%, #B84A00 100%); display: grid; gap: 16px; box-shadow: 0 30px 60px -30px rgba(235, 97, 0, .75); }
.sam__boss::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, 0) 65%); transform: translateX(-100%); animation: sweep 6s var(--ease) infinite; animation-play-state: paused; }
.is-live .sam__boss::after { animation-play-state: running; }
@keyframes sweep { 0%, 55% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@media (min-width: 900px) { .sam__boss { grid-template-columns: auto 1fr; align-items: center; gap: 32px; } }
.sam__boss small { font-size: 13px; font-weight: 500; letter-spacing: .08em; display: block; opacity: .9; }
.sam__boss b { font-size: 28px; display: block; line-height: 1.3; }
@media (min-width: 900px) { .sam__boss .chips { justify-content: flex-end; } }
.sam__boss .chip { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .45); color: #FFFFFF; }
.sam__orch { text-align: center; font-size: 13px; font-weight: 500; color: var(--or-deep); padding: 6px 16px; background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); border-radius: var(--r-full); justify-self: center; }
.sam__flow { list-style: none; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .sam__flow { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .sam__flow { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.sam__flow li { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--r-l); padding: 16px 14px; background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); }
.sec--tint .sam__flow li { background: var(--surface); }
/* agents take turns: a light passes along the pipeline */
.sam__flow li::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(160deg, rgba(61, 139, 255, .22), rgba(139, 108, 242, .10) 60%, rgba(139, 108, 242, 0)); box-shadow: inset 0 0 0 1px rgba(61, 139, 255, .55); opacity: 0; animation: turn 8.4s var(--ease) infinite; animation-play-state: paused; }
.is-live .sam__flow li::after { animation-play-state: running; }
.sam__flow li:nth-child(2)::after { animation-delay: 1.2s; } .sam__flow li:nth-child(3)::after { animation-delay: 2.4s; } .sam__flow li:nth-child(4)::after { animation-delay: 3.6s; }
.sam__flow li:nth-child(5)::after { animation-delay: 4.8s; } .sam__flow li:nth-child(6)::after { animation-delay: 6s; } .sam__flow li:nth-child(7)::after { animation-delay: 7.2s; }
@keyframes turn { 0% { opacity: 0; } 5% { opacity: 1; } 16% { opacity: 1; } 26%, 100% { opacity: 0; } }
.sam__flow li small { font-size: 12px; color: var(--or-deep); font-weight: 500; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.sam__flow li b { display: block; font-size: 16px; font-weight: 500; margin: 2px 0 8px; color: var(--heading); }
.sam__flow li span { display: block; font-size: 13px; color: var(--on-surface-var); line-height: 1.7; }
.sam__flow--mini li { padding: 14px 12px; }
.sam__flow--mini li b { margin: 2px 0 0; font-size: 15px; }
.sam__flow li.is-ind, .sec--tint .sam__flow li.is-ind { background: linear-gradient(160deg, var(--primary-c), var(--primary-c-low)); box-shadow: inset 0 0 0 1px var(--primary-line); }
.sam__flow li.is-ind small { color: var(--primary); }
.sam__flow li.is-ind em { display: block; font-style: normal; margin-top: 8px; font-size: 12px; font-weight: 500; background: var(--primary-fill); color: #FFFFFF; border-radius: var(--r-s); padding: 6px 8px; line-height: 1.45; text-align: center; }
.sam__crosst { font-size: 13px; font-weight: 500; color: var(--on-surface-var); margin-top: 8px; }
.sam__cross { display: grid; gap: 8px; }
@media (min-width: 720px) { .sam__cross { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sam__cross div { border-radius: var(--r-l); padding: 14px 18px; background: var(--surface); border: 1px dashed var(--outline-var); }
.sam__cross div b { display: block; font-size: 15px; font-weight: 500; }
.sam__cross div span { font-size: 14px; color: var(--on-surface-var); }
.sam__cross div.is-gate { border: 1px solid var(--primary-line); background: linear-gradient(120deg, var(--primary-c), var(--primary-c-low)); }
.sam__cross div.is-gate b { color: var(--on-primary-c); }
.sam__cross div.is-gate span { color: var(--on-primary-c); font-weight: 500; }

/* Nine stages */
.stages { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .stages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .stages { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.stage { border-radius: var(--r-xl); padding: 24px; background: var(--card); display: flex; flex-direction: column; }
.stage__h { display: flex; align-items: center; gap: 12px; }
.stage__h i { flex: none; width: 32px; height: 32px; font-size: 14px; background: var(--grad-cool) !important; color: #FFFFFF !important; box-shadow: 0 6px 14px -6px rgba(1, 86, 211, .7); }
.stage__h b { font-family: var(--display); font-size: 18px; font-weight: 500; color: var(--heading); }
.stage p { font-size: 14px; color: var(--on-surface-var); margin: 12px 0 16px; line-height: 1.75; }
.stage__out { margin-top: auto; font-size: 13px; font-weight: 500; padding: 8px 14px; border-radius: var(--r-full); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); }
.stage__out.is-warn { background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); color: var(--or-deep); }
.stages-tag { margin-bottom: 20px; justify-content: center; }

/* Autonomy ladder */
.ladder { list-style: none; display: grid; gap: 8px; }
.rung { display: grid; grid-template-columns: 64px 1fr; border-radius: var(--r-l); overflow: hidden; background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); transition: transform .3s var(--ease-out); }
.rung:not(.rung--head):hover { transform: translateX(4px); }
@media (min-width: 900px) { .rung { grid-template-columns: 80px 1.1fr 1.6fr 1fr; } }
.rung > * { padding: 14px 16px; font-size: 15px; line-height: 1.55; }
.rung__lv { font-family: var(--display); font-weight: 500; font-size: 18px; display: flex; align-items: center; justify-content: center; color: var(--on-primary-c); background: var(--primary-c); }
.rung[data-z="3"] .rung__lv, .rung[data-z="4"] .rung__lv { background: var(--or-c); color: var(--or-deep); }
.rung[data-z="5"] .rung__lv { background: var(--inverse); color: var(--on-inverse); }
.rung__p b { display: block; font-size: 15.5px; font-weight: 500; }
.rung__ex { color: var(--on-surface-var); }
.rung__dep { font-weight: 500; }
@media (max-width: 899px) { .rung__ex, .rung__dep { grid-column: 2; padding-top: 0; } .rung__lv { grid-row: span 3; } }
.rung.is-main { box-shadow: inset 0 0 0 2px var(--primary); }
.rung__dep--ok { color: var(--on-surface); }
.rung__dep--ctl { color: var(--primary); }
.rung__dep--cond { color: var(--or-deep); }
.rung__dep--no { color: var(--on-surface); text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: 3px; }
.rung--head { display: none; }
@media (min-width: 900px) { .rung--head { display: grid; background: none !important; box-shadow: none !important; font-size: 12px; font-weight: 500; color: var(--ink-soft); letter-spacing: .06em; } .rung--head > span { padding: 0 16px 4px; } }
.rung__tag { display: inline-block; margin-top: 4px; font-size: 11px; font-weight: 500; line-height: 16px; color: var(--on-primary-c); background: var(--primary-c); border-radius: var(--r-full); padding: 1px 8px; }

/* Five inequalities */
.ineq { display: grid; gap: 8px; }
@media (min-width: 720px) { .ineq { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ineq div { background: var(--card); border-radius: var(--r-xl); padding: 28px 16px; text-align: center; }
.ineq b { display: block; font-size: 24px; line-height: 1.3; color: var(--heading); }
html[lang="en"] .ineq b { font-size: 20px; }
.ineq b span { margin: 0 .25em; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.ineq em { display: block; font-style: normal; margin-top: 8px; font-size: 13px; color: var(--on-surface-var); line-height: 1.55; }

/* Roadmap */
.road { list-style: none; display: grid; gap: 16px; }
@media (min-width: 1024px) { .road { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.road li { border-radius: var(--r-xl); background: var(--card); padding: 32px; }
.road__d { display: inline-block; font-size: 13px; line-height: 20px; color: #FFFFFF; background: var(--grad-cool); padding: 3px 12px; border-radius: var(--r-full); font-weight: 500; }
.road h3 { margin: 18px 0 12px; }
.road p { font-size: 15px; color: var(--on-surface-var); margin: 0 0 16px; }
.road__out { font-size: 14px; padding-top: 16px; border-top: 1px solid var(--hairline); }
.road__out b { color: var(--on-surface-var); font-weight: 500; margin-right: 6px; }

/* Tables */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--hairline); border-radius: var(--r-xl); background: var(--surface); -webkit-overflow-scrolling: touch; box-shadow: 0 1px 2px rgba(31, 31, 31, .03), 0 20px 40px -32px rgba(1, 86, 211, .35); }
.tbl { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.6; min-width: 640px; }
.tbl th, .tbl td { padding: 15px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline); }
.tbl thead th { background: var(--surface-low); font-size: 12.5px; font-weight: 500; color: var(--ink-soft); letter-spacing: .06em; white-space: nowrap; }
.tbl tbody tr:last-child td, .tbl tbody tr:last-child th { border-bottom: 0; }
.tbl tbody tr { transition: background-color .2s; }
.tbl tbody tr:hover { background: var(--primary-c-low); }
.tbl tbody th { font-weight: 500; white-space: nowrap; color: var(--on-surface); }
.tbl td.up, .tbl td.hi { color: var(--primary); font-weight: 500; }
.tbl--wide { min-width: 860px; }
.scroll-hint { display: block; font-size: 12px; color: var(--on-surface-var); margin-bottom: 8px; }
@media (min-width: 900px) { .scroll-hint { display: none; } }

/* Case studies */
.case { border-radius: var(--r-xl); background: var(--card); overflow: hidden; }
.case + .case { margin-top: 24px; }
.case__h { padding: 28px; display: grid; gap: 20px; }
@media (min-width: 1024px) { .case__h { grid-template-columns: 1fr 1.4fr; align-items: end; padding: 40px 40px 24px; } }
.case__h small { font-size: 13px; color: var(--primary); letter-spacing: .06em; font-weight: 500; }
.case__h h3 { margin: 6px 0 8px; }
.case__h p { margin: 0; color: var(--on-surface-var); font-size: 15px; }
.case__kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 600px) { .case__kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kpi { background: var(--surface); border-radius: var(--r-l); padding: 16px; box-shadow: inset 0 0 0 1px var(--hairline); }
.kpi b { display: block; font-size: 24px; line-height: 1.2; font-variant-numeric: tabular-nums; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.kpi span { display: block; font-size: 12.5px; color: var(--on-surface-var); margin-top: 6px; line-height: 1.45; }
.case__b { padding: 4px 20px 24px; }
@media (min-width: 1024px) { .case__b { padding: 8px 40px 40px; } }
.case__b .tbl-wrap { border: 0; box-shadow: none; }
.case__after { margin-top: 16px; font-size: 15px; color: var(--on-surface); padding: 14px 20px; background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); border-radius: var(--r-l); }
.case__after b, .case__after strong { color: var(--on-primary-c); }

/* Team */
.team { display: grid; gap: 16px; }
@media (min-width: 900px) { .team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
.person { border-radius: var(--r-xl); padding: 28px; background: var(--card); }
.person__top { display: flex; gap: 16px; align-items: center; margin-bottom: 16px; }
.avatar { flex: none; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #FFFFFF; background: var(--grad-cool); }
.person:nth-child(2n) .avatar { background: linear-gradient(135deg, #EB6100, #8B6CF2); color: #FFFFFF; }
.person__role { font-size: 14px; color: var(--on-surface-var); font-weight: 500; }
.person p { font-size: 15px; color: var(--on-surface-var); margin: 0; }
.person__proof { margin-top: 16px; font-size: 14px; padding: 12px 16px; border-radius: var(--r-l); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); color: var(--on-surface-var); }
.person__proof b, .person__proof strong { color: var(--on-surface); }
.bio { display: grid; gap: 32px; }
@media (min-width: 1024px) { .bio { grid-template-columns: 340px 1fr; gap: 64px; } }
.bio__card { border-radius: var(--r-xl); padding: 32px; background: var(--card); align-self: start; }
@media (min-width: 1024px) { .bio__card { position: sticky; top: calc(var(--hdr-h) + 24px); } }
.bio__card .avatar { width: 72px; height: 72px; font-size: 28px; margin-bottom: 20px; }
.bio__card .person__role { margin-top: 4px; display: block; }
.bio__card ul { margin-top: 20px; list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; }
.bio__card li { padding-left: 16px; position: relative; }
.bio__card li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--grad-cool); }
.bio__txt p { font-size: 16px; color: var(--on-surface-var); }
.bio + .bio { margin-top: 64px; padding-top: 64px; border-top: 1px solid var(--hairline); }

/* Founder feature card (home) */
.founder { position: relative; isolation: isolate; overflow: hidden; display: grid; gap: 24px; border-radius: var(--r-2xl); background: linear-gradient(135deg, #F0F4F9 0%, #F8FAFD 55%, #E8F0FE 100%); padding: 28px 24px; }
.founder::before { content: ""; position: absolute; z-index: -1; right: -10%; top: -40%; width: 60%; height: 140%; background: radial-gradient(closest-side, rgba(61, 139, 255, .16), rgba(61, 139, 255, 0)); pointer-events: none; }
@media (min-width: 1024px) { .founder { grid-template-columns: 320px 1fr; gap: 56px; align-items: center; padding: 56px; border-radius: var(--r-3xl); } }
.founder__id { display: flex; gap: 20px; align-items: center; }
@media (min-width: 1024px) { .founder__id { flex-direction: column; align-items: flex-start; } }
.founder__id .avatar { width: 88px; height: 88px; font-size: 36px; }
.avatar--photo { display: block; overflow: hidden; background: var(--surface-c); box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px rgba(61, 139, 255, .5), 0 20px 40px -16px rgba(1, 86, 211, .5); }
.avatar--photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.founder__id .avatar--photo { width: 120px; height: 120px; }
.bio__card .avatar--photo { width: 128px; height: 128px; }
.founder__id h3 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; }
.founder__id .person__role { margin-top: 4px; }
.founder__txt p { margin: 0 0 20px; font-size: 18px; line-height: 1.65; color: var(--on-surface-var); }
html[lang="zh-CN"] .founder__txt p { line-height: 1.85; }
.founder__proof { display: inline-block; margin: 20px 0 24px; font-size: 15px; padding: 10px 18px; border-radius: var(--r-l); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--primary-line), 0 12px 24px -16px rgba(1, 86, 211, .4); color: var(--on-primary-c); }
.founder__proof strong { color: var(--primary); }
.founder__txt .link { display: flex; width: max-content; }
.bio__card .person__proof { margin-top: 20px; background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); }
.bio__card .person__proof strong { color: var(--on-primary-c); }

/* Quote / five / gates */
.quote { max-width: 1000px; margin: 0 auto; text-align: center; }
.quote .eyebrow { margin-left: auto; margin-right: auto; }
.quote blockquote { margin: 0; color: var(--heading); }
.quote blockquote em { font-style: normal; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.quote-sm { margin-top: 24px; }
.quote-sm b { display: inline-block; font-size: clamp(22px, 2.2vw, 28px); padding: 10px 26px; border-radius: var(--r-full); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); }
.callout { border-radius: var(--r-xl); padding: 24px 28px; background: linear-gradient(120deg, var(--primary-c-low), #F8FAFD); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); font-size: 17px; line-height: 1.75; }
.five { list-style: none; display: grid; gap: 8px; }
@media (min-width: 900px) { .five { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.five li { border-radius: var(--r-l); padding: 16px 18px; background: var(--card); }
.five li small { display: block; font-size: 13px; color: var(--on-surface-var); }
.five li b { display: block; font-family: var(--display); font-size: 18px; font-weight: 500; margin-top: 6px; color: var(--primary); line-height: 1.4; }
.five-wrap { margin-top: 56px; }
.gates { display: grid; gap: 12px; }
@media (min-width: 900px) { .gates { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gate { display: grid; grid-template-columns: 48px 1fr; gap: 16px; border-radius: var(--r-xl); padding: 20px; background: var(--card); }
.gate i { font-style: normal; width: 48px; height: 48px; border-radius: var(--r-l); background: var(--grad-cool); color: #FFFFFF; font-family: var(--display); font-weight: 500; display: flex; align-items: center; justify-content: center; font-size: 15px; box-shadow: 0 8px 18px -8px rgba(1, 86, 211, .7); }
.gate b { display: block; font-size: 16px; font-weight: 500; }
.gate span { display: block; font-size: 15px; color: var(--on-surface-var); margin-top: 4px; line-height: 1.7; }
.regs { list-style: none; display: grid; gap: 12px; }
@media (min-width: 900px) { .regs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.regs li { border-radius: var(--r-l); background: var(--card); padding: 16px 20px; }
.regs b { display: block; font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--on-surface); }
.regs span { font-size: 14px; color: var(--on-surface-var); }
.gate-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 32px; }
.planes { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .planes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .planes { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.planes li { border-radius: var(--r-xl); padding: 20px; background: var(--card); }
.planes li small { color: var(--primary); font-size: 13px; font-weight: 500; }
.planes li b { display: block; font-size: 16px; font-weight: 500; margin-top: 4px; }
.prio { margin-top: 24px; border-radius: var(--r-xl); padding: 24px 28px; background: linear-gradient(120deg, var(--primary-c), var(--primary-c-low)); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); }
.prio h3 { margin-bottom: 8px; color: var(--on-primary-c); }
.prio p { margin: 0; color: var(--on-primary-c); }
.roles { list-style: none; display: grid; gap: 8px; margin-top: 48px; }
@media (min-width: 720px) { .roles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.roles li { background: var(--card); border-radius: var(--r-xl); padding: 24px 16px; text-align: center; }
.roles b { display: block; font-size: 24px; color: var(--heading); line-height: 1.3; }
.roles span { display: block; font-size: 14px; color: var(--primary); margin-top: 6px; }

/* Feature trio / can-cannot */
.feat { display: grid; gap: 16px; }
@media (min-width: 900px) { .feat { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.feat > div { border-radius: var(--r-xl); background: var(--card); padding: 28px; }
.feat h3 { display: flex; gap: 12px; align-items: baseline; }
.feat h3 i { flex: none; font-style: normal; font-family: var(--sans); font-size: 14px; font-weight: 500; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.feat p { font-size: 16px; color: var(--on-surface-var); margin: 12px 0 0; }
.cc { display: grid; gap: 16px; }
@media (min-width: 900px) { .cc { grid-template-columns: 1fr 1fr; gap: 20px; } }
.cc__col { border-radius: var(--r-xl); padding: 32px; background: var(--card); }
.cc__col h3 { margin-bottom: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cc__col h3 span { font-family: var(--sans); font-size: 13px; font-weight: 500; padding: 2px 12px; border-radius: var(--r-full); }
.cc__col--yes { background: linear-gradient(160deg, var(--primary-c-low), #FFFFFF 80%); box-shadow: inset 0 0 0 1px var(--primary-line); }
.cc__col--yes h3 span { background: var(--grad-cool); color: #FFFFFF; }
.cc__col--no h3 span { background: var(--surface-highest); color: var(--on-surface-var); }

/* SAM page: interactive DAG */
.dag { border-radius: var(--r-2xl); background: linear-gradient(180deg, #F8FAFD, #F0F4F9); box-shadow: inset 0 0 0 1px var(--hairline), 0 30px 60px -40px rgba(1, 86, 211, .35); padding: 20px; }
@media (min-width: 900px) { .dag { padding: 32px; } }
.dag__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 20px; }
.dag__legend { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 13px; color: var(--on-surface-var); }
.dag__lg { display: inline-flex; align-items: center; gap: 6px; }
.dag__lg::before { content: ""; width: 12px; height: 12px; border-radius: 4px; border: 2px solid; }
.dag__lg--ok::before { border-color: var(--on-surface); background: var(--surface); }
.dag__lg--void::before { border-color: var(--outline); border-style: dashed; background: var(--surface-high); }
.dag__lg--run::before { border-color: var(--or); background: var(--or-c); }
.dag__lg--wait::before { border-color: var(--primary); background: var(--primary-c); }
.dag__nodes { list-style: none; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 1100px) { .dag__nodes { grid-template-columns: repeat(14, minmax(0, 1fr)); } }
.dag__nodes li { position: relative; }
@media (min-width: 1100px) { .dag__nodes li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -8px; width: 8px; height: 2px; margin-top: -1px; background: linear-gradient(90deg, var(--primary-line), var(--outline-var)); } }
.dag__n { width: 100%; aspect-ratio: 1 / 1.05; border-radius: var(--r-m); border: 1.5px solid; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; position: relative; font-family: var(--sans); padding: 4px 0; transition: background-color .3s, border-color .3s, color .3s, transform .3s var(--ease-out), box-shadow .3s; }
.dag__n:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -12px rgba(1, 86, 211, .6); }
.dag.is-busy .dag__n { cursor: progress; }
.dag__s { font-size: 10.5px; letter-spacing: .06em; opacity: .8; text-transform: uppercase; }
.dag__n b { font-family: var(--display); font-size: 20px; font-weight: 500; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dag__gate { position: absolute; top: -7px; right: -7px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #FFFFFF; }
.dag__n.is-ok { border-color: var(--on-surface); background: var(--surface); color: var(--on-surface); }
.dag__n.is-ok .dag__gate { background: var(--on-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
.dag__n.is-void { border-color: var(--outline); border-style: dashed; background: var(--surface-high); color: var(--on-surface-var); }
.dag__n.is-void b { text-decoration: line-through; text-decoration-thickness: 2px; }
.dag__n.is-void .dag__gate { background: var(--outline); }
.dag__n.is-run { border-color: var(--or); background: var(--or-c); color: var(--or-deep); animation: dagpulse .6s ease-in-out infinite alternate; }
.dag__n.is-run .dag__gate { background: var(--or); }
.dag__n.is-wait { border-color: var(--primary); background: var(--primary-c); color: var(--on-primary-c); box-shadow: 0 0 0 4px rgba(1, 86, 211, .08); }
.dag__n.is-wait .dag__gate { background: var(--primary-fill); }
@keyframes dagpulse { from { box-shadow: 0 0 0 0 rgba(235, 97, 0, 0); } to { box-shadow: 0 0 0 6px rgba(235, 97, 0, .2), 0 0 24px rgba(235, 97, 0, .35); } }
.dag__msg { margin: 20px 0 0; min-height: 3.4em; padding: 14px 20px 14px 44px; position: relative; border-radius: var(--r-l); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); font-size: 15px; font-weight: 500; }
.dag__msg::before { content: ""; position: absolute; left: 18px; top: 19px; width: 14px; height: 14px; background: var(--grad); -webkit-mask: var(--sparkle) center / contain no-repeat; mask: var(--sparkle) center / contain no-repeat; }
.dag.is-busy .dag__msg::before { animation: twinkle .9s ease-in-out infinite alternate; }
@keyframes twinkle { from { transform: scale(.7) rotate(0deg); opacity: .6; } to { transform: scale(1.15) rotate(45deg); opacity: 1; } }
.dag__runs { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; font-size: 13px; }
.dag__runs b { color: var(--on-surface-var); font-weight: 500; margin-right: 4px; }
.dag__runs ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.dag__runs li { padding: 3px 12px; border-radius: var(--r-full); border: 1px solid var(--outline-var); background: var(--surface); color: var(--on-surface-var); font-family: var(--mono); font-size: 12px; }
.dag__runs li.is-cur { border-color: var(--primary); color: var(--on-primary-c); background: var(--primary-c); font-weight: 500; }
@media (max-width: 559px) { .dag__s { display: none; } .dag__n b { font-size: 17px; } .dag__gate { width: 14px; height: 14px; top: -5px; right: -5px; background-size: 9px !important; } }

/* SAM page: zones, manifest, monitor, engine trio */
.zone .zone__n { display: inline-block; font-size: 13px; line-height: 20px; color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #8B6CF2); padding: 3px 12px; border-radius: var(--r-full); font-weight: 500; margin-bottom: 14px; }
.mf { display: grid; gap: 12px; }
.mf__parts { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 720px) { .mf__parts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mf__parts { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.mf__parts li { text-align: center; padding: 16px 10px; border-radius: var(--r-full); background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); font-weight: 500; font-size: 15px; }
.mf__arrow { justify-self: center; color: var(--or); }
.mf__arrow svg { width: 28px; height: 28px; transform: rotate(90deg); animation: drop 1.8s var(--ease) infinite; }
@keyframes drop { 0%, 100% { transform: rotate(90deg) translateX(-3px); opacity: .5; } 50% { transform: rotate(90deg) translateX(4px); opacity: 1; } }
.mf__unit { position: relative; overflow: hidden; isolation: isolate; text-align: center; border-radius: var(--r-xl); padding: 30px; background: linear-gradient(120deg, #EB6100, #D45700 50%, #B84A00); color: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(235, 97, 0, .75); }
.mf__unit::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, 0) 65%); transform: translateX(-100%); animation: sweep 6s var(--ease) infinite; animation-play-state: paused; }
.is-live .mf__unit::after { animation-play-state: running; }
.mf__unit b { display: block; font-size: 26px; color: #FFFFFF; }
.mf__unit span { display: block; font-size: 14px; margin-top: 4px; }
.sbx { border-radius: var(--r-xl); padding: 28px; background: var(--card); }
.sbx b { display: block; font-size: 24px; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sbx span { display: block; font-size: 14px; color: var(--on-surface-var); margin-top: 6px; }
.dims { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.dim { border-radius: var(--r-l); padding: 16px 8px; text-align: center; background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.dim small { display: block; font-size: 11px; font-weight: 500; color: var(--primary); letter-spacing: .06em; }
.dim b { display: block; font-size: 16px; font-weight: 500; margin-top: 4px; }
html[lang="en"] .dim b { font-size: 13.5px; }
@media (max-width: 559px) { .dims { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mflow { list-style: none; display: grid; gap: 8px; margin-top: 16px; }
@media (min-width: 560px) { .mflow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mflow li { padding: 14px; border-radius: var(--r-full); font-size: 14.5px; font-weight: 500; text-align: center; background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); }
.mflow li:last-child { background: var(--grad-cool); color: #FFFFFF; box-shadow: 0 12px 24px -12px rgba(1, 86, 211, .7); }
.lineage-pts { margin-top: 40px; max-width: 960px; margin-left: auto; margin-right: auto; }
.trio { display: grid; gap: 12px; align-items: stretch; }
@media (min-width: 900px) { .trio { grid-template-columns: 1fr auto 1fr auto 1fr; } }
.trio__n { border-radius: var(--r-xl); background: var(--card); padding: 24px; text-align: center; }
.trio__n small { display: block; font-size: 12px; font-weight: 500; letter-spacing: .08em; color: var(--ink-soft); }
.trio__n b { display: block; font-size: 22px; margin: 4px 0; color: var(--heading); }
.trio__n span { font-size: 14px; color: var(--on-surface-var); }
.trio__n.is-sam { background: linear-gradient(140deg, #EB6100, #B84A00); color: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(235, 97, 0, .75); }
.trio__n.is-sam :is(small, span, b) { color: #FFFFFF; }
.trio__arrow { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--primary); font-size: 12px; text-align: center; max-width: 150px; margin: 0 auto; }
.trio__arrow span { color: var(--on-surface-var); }
.trio__arrow svg { width: 24px; height: 24px; transform: rotate(90deg); }
@media (min-width: 900px) { .trio__arrow svg { transform: none; animation: nudge 1.8s var(--ease) infinite; } }
.trio__back { margin-top: 16px; text-align: center; }
.trio__back span { display: inline-block; font-size: 13px; color: var(--on-primary-c); font-weight: 500; padding: 6px 16px; border-radius: var(--r-full); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.trio__back span::before { content: "← "; }

/* VDC */
.formula { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.formula span { font-size: clamp(20px, 2vw, 26px); padding: 12px 24px; border-radius: var(--r-full); background: var(--card); box-shadow: inset 0 0 0 1px var(--hairline); }
.formula span:nth-child(odd) { background: linear-gradient(120deg, var(--primary-c), var(--primary-c-low)); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); }
.formula i { font-style: normal; font-size: 22px; color: var(--outline); }
.src { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; align-items: center; margin-top: 28px; }
.src b { font-size: 14px; font-weight: 500; margin-right: 6px; }
.dimgrid { list-style: none; display: grid; gap: 8px; }
@media (min-width: 600px) { .dimgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .dimgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dimgrid li { display: flex; gap: 14px; align-items: baseline; padding: 14px 18px; border-radius: var(--r-l); background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); font-size: 15px; line-height: 1.55; }
.dimgrid small { font-size: 12px; font-weight: 500; color: var(--primary); font-variant-numeric: tabular-nums; }

/* Scenario page */
.lines { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 24px; }
.clamp-note { margin: 28px auto 0; max-width: 900px; text-align: center; }

/* Technology */
.cv { display: grid; gap: 16px; }
@media (min-width: 720px) { .cv { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .cv { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cv__col { border-radius: var(--r-xl); background: var(--card); padding: 24px; }
.cv__col h3 { display: flex; justify-content: space-between; align-items: baseline; }
.cv__col h3 small { font-family: var(--sans); font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.cv__col ul { list-style: none; margin-top: 16px; display: grid; gap: 8px; }
.cv__col li { font-size: 14.5px; padding: 8px 14px; border-radius: var(--r-full); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); }
.metric-row { display: grid; gap: 12px; }
@media (min-width: 720px) { .metric-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.metric { border-radius: var(--r-xl); padding: 24px; background: var(--card); }
.metric small { display: block; font-size: 13px; color: var(--on-surface-var); }
.metric b { display: block; margin: 6px 0; font-variant-numeric: tabular-nums; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.metric span { display: block; font-size: 14px; color: var(--on-surface-var); line-height: 1.6; }
.algo { margin: 24px auto 0; max-width: 980px; font-size: 16px; text-align: center; }
.dfa { list-style: none; display: grid; gap: 8px; }
.dfa li { display: grid; grid-template-columns: 124px 1fr; border-radius: var(--r-l); overflow: hidden; background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); font-size: 14.5px; }
.dfa li b { background: var(--primary-c); color: var(--on-primary-c); padding: 10px 16px; font-weight: 500; font-size: 14px; display: flex; align-items: center; }
.dfa li span { padding: 10px 16px; color: var(--on-surface-var); }
.caps { list-style: none; display: grid; gap: 16px; counter-reset: cp; }
@media (min-width: 900px) { .caps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
.caps li { position: relative; border-radius: var(--r-xl); padding: 32px; background: var(--card); box-shadow: inset 0 0 0 1px var(--card-line); }
.caps li::before { counter-increment: cp; content: "0" counter(cp); display: inline-block; font-size: 13px; line-height: 20px; color: #FFFFFF; background: var(--grad-cool); padding: 3px 12px; border-radius: var(--r-full); font-weight: 500; }
.caps h3 { margin: 18px 0 10px; }
.caps p { font-size: 15px; color: var(--on-surface-var); margin: 0; }
.caps p + p { margin-top: 10px; }

/* Honors */
.honors { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .honors { grid-template-columns: 1fr 1fr; gap: 16px; } }
.honors li { display: flex; gap: 16px; align-items: center; border-radius: var(--r-xl); background: var(--card); padding: 20px 24px; }
.honors svg { flex: none; width: 44px; height: 44px; color: var(--primary); }
.honors b { display: block; font-size: 17px; font-weight: 500; line-height: 1.45; }
.honors span { display: block; font-size: 14px; color: var(--on-surface-var); }

/* Customers */
.cgroups { display: grid; gap: 24px; }
@media (min-width: 900px) { .cgroups { grid-template-columns: 1fr 1fr; } }
.cgroups h3 { font-family: var(--sans); font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--ink-soft); margin-bottom: 14px; }
.cgroups ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.cgroups li { padding: 10px 18px; border-radius: var(--r-full); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); font-weight: 500; font-size: 15px; transition: box-shadow .3s, transform .3s var(--ease-out); }
.cgroups li:hover { box-shadow: inset 0 0 0 1px var(--primary-line), 0 10px 20px -12px rgba(1, 86, 211, .5); transform: translateY(-2px); }
.reach { margin: 40px auto 0; font-size: 17px; color: var(--on-surface-var); max-width: 900px; text-align: center; }
.reach strong { color: var(--on-surface); }

/* ---------- CTA band (deep-space panel) ---------- */
.cta { padding: calc(var(--sec) * .5) 0 calc(var(--sec) * .75); }
.trialband { padding: calc(var(--sec) * .5) 0; }
.cta__box { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--r-2xl); color: var(--on-surface); padding: 64px 24px; text-align: center;
  background:
    radial-gradient(55% 80% at 50% 115%, rgba(61, 139, 255, .30), rgba(61, 139, 255, 0) 70%),
    radial-gradient(40% 60% at 0% 0%, rgba(139, 108, 242, .20), rgba(139, 108, 242, 0) 70%),
    radial-gradient(40% 60% at 100% 0%, rgba(235, 97, 0, .14), rgba(235, 97, 0, 0) 70%),
    linear-gradient(180deg, #F8FAFD 0%, #E8F0FE 100%);
  box-shadow: inset 0 0 0 1px rgba(1, 86, 211, .10), 0 40px 80px -56px rgba(1, 86, 211, .5); }
@media (min-width: 1024px) { .cta__box { border-radius: var(--r-3xl); padding: 104px 48px; } }
.cta__box::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(1, 86, 211, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(1, 86, 211, .06) 1px, transparent 1px); background-size: 48px 48px; background-position: center center;
  -webkit-mask-image: radial-gradient(60% 70% at 50% 50%, #000 0%, transparent 80%); mask-image: radial-gradient(60% 70% at 50% 50%, #000 0%, transparent 80%); }
.cta__box::after { content: ""; position: absolute; z-index: -1; left: 20%; top: 35%; width: 60%; height: 110%; pointer-events: none; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(61, 139, 255, .20), rgba(139, 108, 242, .08) 55%, rgba(139, 108, 242, 0));
  animation: sway 14s ease-in-out infinite alternate; animation-play-state: paused; }
.cta.is-live .cta__box::after { animation-play-state: running; }
@keyframes sway { from { transform: translate3d(-28%, 6%, 0) scale(.9); } to { transform: translate3d(28%, -4%, 0) scale(1.15); } }
.cta__box .eyebrow { margin-left: auto; margin-right: auto; }
.cta h2 { max-width: 900px; margin: 0 auto; }
.cta p { margin: 20px auto 0; max-width: 700px; color: var(--on-surface-var); }
.cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }

/* ---------- imagery ---------- */
.media { position: relative; overflow: hidden; border-radius: var(--r-2xl); background: var(--surface-c); aspect-ratio: 2 / 1; }
.media picture, .media img, .frow__img picture, .frow__img img, .icard__img picture, .icard__img img, .trialband__img picture, .trialband__img img { display: block; width: 100%; height: 100%; }
.media img, .frow__img img, .icard__img img, .trialband__img img { object-fit: cover; object-position: 50% 50%; }
@media (min-width: 720px) { .media { aspect-ratio: 16 / 7; } }
@media (min-width: 1024px) { .media { border-radius: var(--r-3xl); } }
.hero__img, .phero .media { margin: 64px auto 0; }
@media (min-width: 1024px) { .phero .media { margin-top: 80px; } }
.phero .media { text-align: left; }
.media::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(31, 31, 31, .06); pointer-events: none; }

/* Feature rows: image + text, alternating */
.frow { display: grid; gap: 32px; align-items: center; }
.frow + .frow { margin-top: 72px; }
@media (min-width: 1024px) { .frow { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 80px; } .frow + .frow { margin-top: 112px; } .frow--rev { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } .frow--rev .frow__img { order: 2; } }
.frow__img { position: relative; overflow: hidden; border-radius: var(--r-xl); background: var(--surface-c); aspect-ratio: 2 / 1; box-shadow: 0 40px 80px -48px rgba(1, 86, 211, .55); }
.frow__img img { transition: transform 1.2s var(--ease-out); }
.frow__img:hover img { transform: scale(1.04); }
@media (min-width: 1024px) { .frow__img { border-radius: var(--r-2xl); } }
.frow__t { font-family: var(--display); font-size: clamp(24px, 2.5vw, 34px); line-height: 1.22; font-weight: 500; letter-spacing: -0.02em; color: var(--heading); }
html[lang="zh-CN"] .frow__t { line-height: 1.4; letter-spacing: 0; }
.frow__txt > p { margin: 18px 0 0; font-size: 18px; line-height: 1.6; color: var(--on-surface-var); }
html[lang="zh-CN"] .frow__txt > p { line-height: 1.85; }
.frow__txt ul.checks { margin-top: 24px; }
.frow__link { margin-top: 28px; }

/* Image cards */
.icards { display: grid; gap: 16px; }
@media (min-width: 720px) { .icards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .icards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } .icards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.icard { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-xl); background: var(--card); color: var(--on-surface); transition: background-color .3s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease-out); }
.icard:hover { background: var(--card-hover); box-shadow: inset 0 0 0 1px var(--card-line), var(--lift); transform: translateY(-4px); }
.icard__img { position: relative; aspect-ratio: 2 / 1; overflow: hidden; }
.icard__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 11, 20, 0) 55%, rgba(7, 11, 20, .28)); opacity: 0; transition: opacity .4s; }
.icard:hover .icard__img::after { opacity: 1; }
.icard__img img { transition: transform .9s var(--ease-out); }
.icard:hover .icard__img img { transform: scale(1.06); }
.icard__b { display: flex; flex-direction: column; flex: 1; padding: 24px; }
@media (min-width: 1024px) { .icard__b { padding: 28px 32px 32px; } }
.icard p { margin: 12px 0 24px; color: var(--on-surface-var); font-size: 16px; line-height: 1.6; }
.icard .link { margin-top: auto; }
.icard__b .dl { margin: 12px 0 24px; }
.icard:hover .link svg { transform: translateX(4px); }
.icard--flag { background: linear-gradient(170deg, #FFF1E8, #FFFFFF 60%); box-shadow: inset 0 0 0 1.5px var(--or); }
.icard--flag:hover { box-shadow: inset 0 0 0 1.5px var(--or), 0 30px 60px -30px rgba(235, 97, 0, .5); }
.icard--flag:hover { background: linear-gradient(170deg, #FFF1E8, #FFFFFF 60%); }
.icard--flag .card__kicker { color: var(--or-deep); }
.icard--flag .icard__img { border-radius: calc(var(--r-xl) - 2px) calc(var(--r-xl) - 2px) 0 0; margin: 2px 2px 0; }

/* "Also applies to" row */
.also { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 36px; }
.also b { font-size: 14px; font-weight: 500; margin-right: 6px; }
.also__note { font-size: 14px; color: var(--on-surface-var); margin-left: 6px; }
.also .chip { transition: border-color .25s, color .25s, transform .3s var(--ease-out); }
.also .chip:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }
.more-row--c { display: flex; justify-content: center; }

/* ---------- try-online band ---------- */
.trialband__box { position: relative; isolation: isolate; display: grid; overflow: hidden; border-radius: var(--r-2xl); background: linear-gradient(120deg, #FFF1E8 0%, #FFFFFF 48%, #E8F0FE 100%); color: var(--on-surface); box-shadow: inset 0 0 0 1px var(--or-line); }
.trialband__box::before { content: ""; position: absolute; z-index: -1; left: -10%; top: -50%; width: 60%; height: 140%; border-radius: 50%; background: radial-gradient(closest-side, rgba(235, 97, 0, .14), rgba(235, 97, 0, 0)); pointer-events: none; }
@media (min-width: 1024px) { .trialband__box { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: var(--r-3xl); } }
.trialband__txt { padding: 44px 24px 32px; }
@media (min-width: 1024px) { .trialband__txt { padding: 72px 56px; align-self: center; } }
.trialband__txt .eyebrow { color: var(--or-deep); }
.trialband__txt .eyebrow::before { background: linear-gradient(135deg, #EB6100 0%, #E05A8E 60%, #8B6CF2 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 4px 10px -4px rgba(235, 97, 0, .6); }
.trialband__txt > p { margin: 18px 0 0; font-size: 18px; line-height: 1.6; color: var(--on-surface-var); max-width: 620px; }
html[lang="zh-CN"] .trialband__txt > p { line-height: 1.85; }
.trialband__facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.trialband__facts span { display: inline-flex; padding: 7px 14px; border-radius: var(--r-full); background: rgba(255, 255, 255, .85); box-shadow: inset 0 0 0 1px var(--or-line); font-size: 14px; line-height: 20px; color: var(--on-surface-var); }
.trialband__facts b { color: var(--or-deep); font-weight: 500; }
.trialband .cta__btns { justify-content: flex-start; }
.trialband__img { padding: 0 16px 16px; }
.trialband__img picture { overflow: hidden; border-radius: var(--r-xl); background: var(--surface-c); aspect-ratio: 2 / 1; height: auto; box-shadow: 0 30px 60px -36px rgba(235, 97, 0, .5); }
.trialband__img img { transition: transform 1.2s var(--ease-out); }
.trialband__box:hover .trialband__img img { transform: scale(1.04); }
@media (min-width: 1024px) { .trialband__img { padding: 40px 40px 40px 0; align-self: center; } .trialband__img picture { aspect-ratio: 16 / 7; border-radius: var(--r-2xl); } }

/* Industry use cases */
.ucs .uc { display: flex; flex-direction: column; }
.uc .dl { margin-top: 8px; }
.uc .dl dd { font-size: 15px; color: var(--on-surface-var); }

/* Variable example (five dimensions) */
.vex { display: grid; gap: 8px; margin-top: 24px; }
@media (min-width: 600px) { .vex { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .vex { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.vex > div { border-radius: var(--r-l); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); padding: 16px 20px; }
.vex small { display: block; font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .06em; color: var(--primary); }
.vex b { display: block; margin-top: 6px; font-size: 16px; font-weight: 500; line-height: 1.4; }
.vex > div:last-child { background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.vex > div:last-child small { color: var(--or-deep); }

/* Variable examples by industry (VDC) */
.vrows { display: grid; gap: 16px; }
.vrow { border-radius: var(--r-xl); background: var(--surface); padding: 20px; }
.dark .vrow { background: var(--card); }
@media (min-width: 1024px) { .vrow { padding: 24px 28px; } }
.vrow__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 16px; }
.vrow__h b { font-size: 16px; font-weight: 500; }
.vrow .vex { margin-top: 0; }
.vrows + .src { margin-top: 32px; }
.src + .src { margin-top: 12px; }

/* Four-step stages */
@media (min-width: 1100px) { .stages--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Header text link + trial system callout */
.hdr__txt { display: none; font-size: 14px; font-weight: 500; line-height: 20px; color: var(--on-surface-var); padding: 10px 12px; border-radius: var(--r-full); white-space: nowrap; transition: background-color .2s, color .2s; }
.hdr__txt:hover { color: var(--on-surface); background: rgba(31, 31, 31, .05); }
@media (min-width: 720px) and (max-width: 1099px), (min-width: 1280px) { .hdr__txt { display: inline-flex; } }
.mnav .btn + .btn { margin-top: 12px; }
.trial-sys { margin: 24px 0; }
.trial-sys b { display: block; font-weight: 500; }
.trial-sys p { margin: 4px 0 16px; font-size: 15px; }

/* ---------- contact & forms ---------- */
.contact { display: grid; gap: 32px; }
@media (min-width: 1024px) { .contact { grid-template-columns: 5fr 7fr; gap: 56px; } }
.cinfo { list-style: none; display: grid; border-radius: var(--r-xl); background: var(--card); overflow: hidden; padding: 8px 0; }
.cinfo li { display: grid; grid-template-columns: 88px 1fr; gap: 12px; padding: 15px 24px; font-size: 15px; line-height: 1.6; }
html[lang="en"] .cinfo li { grid-template-columns: 96px 1fr; }
.cinfo li + li { border-top: 1px solid var(--surface-highest); }
.cinfo li > span { color: var(--on-surface-var); font-size: 14px; }
.cinfo a { color: var(--primary); font-weight: 500; word-break: break-all; }
.cinfo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.form { position: relative; border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--hairline); padding: 24px; box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 40px 80px -48px rgba(1, 86, 211, .45); }
@media (min-width: 720px) { .form { padding: 40px; } }
.form > p { font-size: 15px; color: var(--on-surface-var); margin: 8px 0 24px; }
.fgrid { display: grid; gap: 16px 20px; }
@media (min-width: 720px) { .fgrid { grid-template-columns: 1fr 1fr; } .f--full { grid-column: 1 / -1; } }
.field label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 6px; color: var(--on-surface-var); }
.field label i { font-style: normal; color: var(--or); margin-left: 2px; }
.field input, .field select, .field textarea { width: 100%; font: inherit; font-size: 16px; line-height: 24px; min-height: 52px; padding: 13px 16px; border-radius: var(--r-m); border: 1px solid var(--outline-var); background: var(--surface-low); color: var(--on-surface); transition: border-color .2s, box-shadow .2s, background-color .2s; }
.field textarea { min-height: 136px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--outline); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; background: var(--surface); border-color: var(--primary); box-shadow: 0 0 0 4px rgba(1, 86, 211, .12); }
.field.is-err input, .field.is-err textarea, .field.is-err select { border-color: var(--or-deep); box-shadow: 0 0 0 4px rgba(235, 97, 0, .12); }
.field__err { display: none; color: var(--or-deep); font-size: 13px; margin-top: 4px; }
.field.is-err .field__err { display: block; }
.form__foot { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }
.form__foot small { font-size: 13px; color: var(--on-surface-var); line-height: 1.6; flex: 1 1 260px; }
.form__ok { display: none; margin-top: 16px; padding: 16px 20px; border-radius: var(--r-l); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--on-primary-c); font-size: 14px; }
.form__ok.is-on { display: block; animation: mnavItem .5s var(--ease-out); }
.form__ok p { margin: 0 0 10px; }
.form__ok a { text-decoration: underline; }
.form__ok pre { white-space: pre-wrap; word-break: break-word; font-family: var(--mono); font-size: 12.5px; line-height: 1.6; background: var(--surface); color: var(--on-surface); border-radius: var(--r-s); padding: 12px; margin: 0 0 12px; max-height: 260px; overflow: auto; }

/* ---------- footer ---------- */
.ftr { position: relative; background: var(--surface-low); color: var(--on-surface-var); padding: 64px 0 28px; font-size: 14px; line-height: 20px; }
.ftr::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, rgba(1, 86, 211, 0), rgba(1, 86, 211, .35) 25%, rgba(139, 108, 242, .35) 60%, rgba(235, 97, 0, .3) 80%, rgba(235, 97, 0, 0)); }
.ftr__top { display: grid; gap: 40px; }
@media (min-width: 1024px) { .ftr__top { grid-template-columns: 1.25fr repeat(5, minmax(0, 1fr)); gap: 28px; } }
.ftr__brand img { height: 32px; width: auto; }
html[lang="en"] .ftr__brand img { height: 26px; }
.ftr__brand p { margin: 18px 0 0; line-height: 1.75; max-width: 320px; }
.ftr__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
@media (min-width: 1024px) { .ftr__cols { display: contents; } }
.ftr h2 { font-family: var(--sans); font-size: 13px; line-height: 20px; font-weight: 500; letter-spacing: .06em; color: var(--on-surface); margin-bottom: 16px; }
.ftr ul { list-style: none; display: grid; gap: 12px; }
.ftr a { transition: color .2s; }
.ftr a:hover { color: var(--primary); }
.ftr__bottom { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--hairline); display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; align-items: center; font-size: 13px; color: var(--ink-soft); }
.ftr__legal { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.ftr__legal a { display: inline-flex; align-items: center; gap: 6px; }
.ftr__legal img { width: 16px; height: 16px; }

/* ---------- 404 ---------- */
.nf { position: relative; isolation: isolate; overflow: hidden; min-height: 86vh; display: flex; align-items: center; padding-top: var(--hdr-h); text-align: center; }
.nf .wrap { display: flex; flex-direction: column; align-items: center; }
.nf b { font-family: var(--display); font-size: clamp(96px, 16vw, 168px); line-height: 1; font-weight: 500; letter-spacing: -0.05em; background: var(--grad-loop) 0 0 / 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: shimmer 9s linear infinite; }
.nf h1 { margin: 20px 0 16px; }
.nf p { color: var(--on-surface-var); font-size: 18px; max-width: 560px; }
.nf .hero__ctas { margin-top: 24px; }

/* ---------- motion: staged reveals, split headings, counters ---------- */
.js .rv { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity .9s var(--ease-out) var(--d, 0s), transform 1.1s var(--ease-out) var(--d, 0s); }
.js .shead.rv, .js .sub-h.rv { transform: translate3d(0, 24px, 0); filter: blur(8px); transition: opacity .9s var(--ease-out) var(--d, 0s), transform 1.1s var(--ease-out) var(--d, 0s), filter .9s var(--ease-out) var(--d, 0s); }
.js .rv.in { opacity: 1; transform: none; filter: none; }
.js .rv-up { opacity: 0; transform: translate3d(0, 20px, 0); animation: up 1s var(--ease-out) forwards; animation-delay: var(--d, 0s); }
.js .d1 { --d: .06s; } .js .d2 { --d: .14s; } .js .d3 { --d: .42s; } .js .d4 { --d: .54s; } .js .d5 { --d: .64s; } .js .d6 { --d: .72s; }
.js .d7 { --d: .95s; } .js .d8 { --d: 1.03s; } .js .d9 { --d: 1.11s; } .js .d10 { --d: 1.19s; }
@keyframes up { to { opacity: 1; transform: none; } }
.sx .w { display: inline-block; opacity: 0; transform: translate3d(0, .45em, 0); filter: blur(10px); animation: ch 1s var(--ease-out) forwards; animation-delay: calc(var(--i) * 34ms + 120ms); }
.sx .pe { font-feature-settings: "halt"; }
.sx .c { opacity: 0; filter: blur(12px); animation: chi 1s var(--ease-out) forwards; animation-delay: calc(var(--i) * 32ms + 120ms); }
.sx .wi { opacity: 0; filter: blur(10px); animation: chi 1.1s var(--ease-out) forwards; animation-delay: calc(var(--i) * 34ms + 160ms); }
@keyframes ch { to { opacity: 1; transform: none; filter: none; } }
@keyframes chi { to { opacity: 1; filter: none; } }
.hero h1 em.wi { animation-name: chi, shimmer; animation-duration: 1.1s, 9s; animation-timing-function: var(--ease-out), linear; animation-iteration-count: 1, infinite; animation-fill-mode: forwards, none; animation-delay: calc(var(--i) * 34ms + 160ms), 0s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .rv, .js .shead.rv, .js .sub-h.rv, .js .rv-up { opacity: 1; transform: none; filter: none; transition: none; animation: none; }
  .sx .w, .sx .wi, .sx .c { opacity: 1; transform: none; filter: none; animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .hero__frame .media::after { display: none; }
  .hero__frame, .phero .media { transform: none !important; }
}
@media print {
  .hdr, .mnav, .bgfx, .cta, .form, .hud { display: none !important; }
  .js .rv, .sx .w, .sx .wi, .sx .c { opacity: 1 !important; transform: none !important; filter: none !important; }
  .dark, .sec--tint { margin: 0; border-radius: 0; }
  .dark { background: #FFFFFF !important; }
}

html[lang="zh-CN"] .card__kicker { font-size: 14px; letter-spacing: .06em; }

/* ---------- 弘犀研究 · research (list + article) ---------- */
.rlist { padding-top: 24px; }
.rcards { display: grid; gap: 20px; }
.rcard { display: grid; border-radius: var(--r-xl); background: var(--surface-c); overflow: hidden; color: inherit; transition: background-color .3s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease-out); }
.rcard:hover { background: var(--surface); box-shadow: var(--lift); transform: translateY(-2px); }
.rcard__img { background: var(--on-primary-c); }
.rcard__img img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 0; }
.rcard__b { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.rcard__k { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--primary); }
.rcard__k .chip { font-size: 12.5px; padding: 2px 10px; }
.rcard__n { font-variant-numeric: tabular-nums; color: var(--or-deep); letter-spacing: .04em; }
.rcard h3 { font-size: 21px; line-height: 1.35; letter-spacing: -0.01em; }
.rcard p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--on-surface-var); }
.rcard__m { font-size: 13.5px; color: var(--ink-soft); }
.rcard__m .art__no { font-size: 12px; }
.rcard .link { margin-top: 4px; }
@media (min-width: 900px) {
  .rcard { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .rcard__img img { aspect-ratio: auto; min-height: 100%; }
  .rcard__b { padding: 36px 40px; justify-content: center; }
  .rcard h3 { font-size: 24px; }
}

@media (min-width: 900px) { .rcard--feature:not(.rcard--stack) h3 { font-size: 28px; } .rcard--feature:not(.rcard--stack) { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); } }
.rcard--stack { grid-template-columns: none !important; align-content: start; }
.rcard--stack .rcard__img img { aspect-ratio: 16 / 9 !important; min-height: 0 !important; }
.rcard--stack .rcard__b { padding: 24px 28px 28px; justify-content: flex-start; }
/* 弘犀研究 · 按天分组 */
.rdays { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.rdays b { font-size: 14px; font-weight: 500; color: var(--ink-soft); margin-right: 4px; }
.rdays .chip { font-size: 13.5px; padding: 5px 14px; transition: background-color .2s, color .2s; }
.rdays .chip:hover { background: var(--primary-c-low); color: var(--primary); }
.rday { padding-top: 40px; scroll-margin-top: calc(var(--hdr-h) + 12px); }
.rday + .rday { margin-top: 32px; border-top: 1px solid var(--hairline); }
.rday__h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin: 0 0 20px; }
.rday__h h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.25; letter-spacing: -0.01em; }
.rday__w { font-size: .62em; font-weight: 500; color: var(--ink-soft); letter-spacing: .02em; }
.rday__h .chip { font-size: 12.5px; padding: 3px 10px; }
.rday__h p { margin: 0; font-size: 14.5px; color: var(--ink-soft); }
.rgrid { display: grid; gap: 20px; margin-top: 20px; }
@media (min-width: 700px) { .rgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rgrid .rcard--stack { grid-template-rows: auto 1fr; }
.rgrid .rcard--stack .rcard__b { padding: 20px 22px 24px; gap: 10px; }
.rgrid .rcard--stack .rcard__m { margin-top: auto; padding-top: 4px; }
.rgrid .rcard--stack h3 { font-size: 18.5px; line-height: 1.4; }
.rgrid .rcard--stack p { font-size: 14.5px; line-height: 1.65; }
.hres__more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.hres__past { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13.5px; color: var(--ink-soft); }
.hres__past b { font-weight: 500; }
.hres__past a { color: var(--primary); }
.hres__past a:hover { text-decoration: underline; }
.art__tnote { margin: -.6em 0 1.6em !important; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); text-align: left !important; }
.rlist__h { font-size: 15px; font-weight: 500; letter-spacing: .06em; color: var(--or-deep); margin: 0 0 16px; }
.rlist__deep { margin-top: 64px; }

/* 首页 · 弘犀研究区块 */
.hres__grid { display: grid; gap: 20px; }
@media (min-width: 1024px) { .hres__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; align-items: stretch; } }
.hres__side { border-radius: var(--r-xl); background: var(--surface-low); padding: 24px 24px 12px; }
@media (min-width: 1024px) { .hres__side { padding: 28px 32px 16px; } }
.hres__h { font-size: 15px; font-weight: 500; letter-spacing: .06em; color: var(--or-deep); margin: 0 0 4px; }
.hres__list { list-style: none; }
.hres__list li + li { border-top: 1px solid var(--hairline); }
.hres__list a { display: flex; align-items: center; gap: 14px; padding: 16px 0; color: inherit; }
.hres__n { flex: none; width: 2em; font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--or-deep); }
.hres__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.hres__t small { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--primary); }
.hres__t b { font-size: 16.5px; line-height: 1.45; font-weight: 500; color: var(--on-surface); transition: color .2s; }
html[lang="zh-CN"] .hres__t b { word-break: normal; overflow-wrap: anywhere; }
.hres__list svg { flex: none; width: 18px; height: 18px; color: var(--primary); transition: transform .3s var(--ease-out); }
.hres__list a:hover b { color: var(--primary); }
.hres__list a:hover svg { transform: translateX(3px); }
.hres__side { display: flex; flex-direction: column; }
.hres__more { margin-top: auto; padding: 16px 0 12px; border-top: 1px solid var(--hairline); }

/* 文章正文：英文斜体与嵌套列表 */
.art__body em { font-style: italic; }
.art__body li > ul, .art__body li > ol { margin: .35em 0 .2em; }

.art__hero { padding-bottom: 36px; }
html[lang="zh-CN"] .art__hero .art__h1, html[lang="zh-CN"] .art__body h2, html[lang="zh-CN"] .rcard h3 { word-break: normal; }
.art__hero .art__h1 { max-width: 980px; margin: 0 auto; font-size: clamp(26px, 3.4vw, 44px); line-height: 1.22; letter-spacing: -0.02em; }
/* byline: author + affiliation, journal style */
.art__by { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 22px auto 0; text-align: center; }
.art__au { font-family: var(--display); font-size: 17.5px; font-weight: 500; color: var(--heading); }
.art__af { font-size: 14px; color: var(--on-surface-var); }
.art__meta { margin: 14px auto 0; padding-top: 14px; max-width: 760px; border-top: 1px solid var(--hairline); font-size: 14.5px; color: var(--ink-soft); }
.art__mi { white-space: nowrap; }
.art__no { font-family: var(--mono); font-size: 13px; letter-spacing: .02em; color: var(--on-surface-var); white-space: nowrap; }
.art { padding: 8px 0 var(--sec); }
.art__grid { display: grid; gap: 28px; }
@media (min-width: 1100px) {
  .art__grid { grid-template-columns: 236px minmax(0, 760px); gap: 64px; justify-content: center; align-items: start; }
  .art__side { position: sticky; top: calc(var(--hdr-h) + 24px); max-height: calc(100vh - var(--hdr-h) - 48px); overflow-y: auto; }
}
.art__toc { border-left: 2px solid var(--hairline); padding: 4px 0 4px 16px; }
.art__toc b, .art__info > b { display: block; font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--ink-soft); margin-bottom: 8px; }
.art__toc ol { list-style: none; }
.art__toc a { display: block; padding: 5px 0; font-size: 14px; line-height: 1.5; color: var(--on-surface-var); transition: color .2s; }
.art__toc a:hover { color: var(--primary); }
@media (max-width: 1099px) { .art__toc { background: var(--surface-low); border-left: 0; border-radius: var(--r-l); padding: 16px 20px; } }
/* article information (sidebar, desktop) */
.art__info { display: none; margin-top: 28px; padding: 16px 0 0 18px; border-top: 1px solid var(--hairline); }
@media (min-width: 1100px) { .art__info { display: block; } }
.art__info dl { margin: 0; font-size: 13px; line-height: 1.55; }
.art__info dl div { display: grid; grid-template-columns: 4.6em minmax(0, 1fr); gap: 8px; padding: 6px 0; }
html[lang="en"] .art__info dl div { grid-template-columns: 6.4em minmax(0, 1fr); }
.art__info dl div + div { border-top: 1px dashed var(--hairline); }
.art__info dt { color: var(--ink-soft); }
.art__info dd { margin: 0; color: var(--on-surface); font-variant-numeric: tabular-nums; }
.art__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 12px 0 0; font-size: 13px; }
.art__acts a { color: var(--primary); }
.art__acts a:hover { text-decoration: underline; text-underline-offset: 3px; }
.art__btn { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 14px; border: 1px solid var(--primary-line); border-radius: var(--r-full); background: var(--surface); color: var(--primary); font: 500 13px/1.4 var(--sans); cursor: pointer; transition: background-color .2s, border-color .2s; }
.art__btn:hover { background: var(--primary-c-low); border-color: var(--primary); }
.art__btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.art__body { min-width: 0; font-size: 16.5px; line-height: 1.85; color: var(--on-surface); overflow-wrap: break-word; }
@media (min-width: 1024px) { .art__body { font-size: 17px; } }
/* English full text: book serif for running text (system fonts, no download) */
html[lang="en"] .art__body p, html[lang="en"] .art__body li { font-family: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "Times New Roman", serif; }
html[lang="en"] .art__body { font-size: 17.5px; line-height: 1.75; }
html[lang="en"] .art__body .art__tnote, html[lang="en"] .art__body .art__cite-f, html[lang="en"] .art__body .art__pager * { font-family: var(--sans); }
.art__body > p, .art__body li { text-align: left; }
@media (min-width: 900px) { html[lang="zh-CN"] .art__body > p, html[lang="zh-CN"] .art__body > ul > li, html[lang="zh-CN"] .art__body > ol > li { text-align: justify; text-justify: inter-character; } }
.art__body p { margin: 0 0 1.05em; }
html[lang="zh-CN"] .art__body > p:not(.art__tnote) { text-indent: 2em; }
/* section headings: hairline rule across the measure, brand accent at the left */
.art__body h2 { position: relative; font-size: clamp(22px, 2.2vw, 27px); line-height: 1.3; margin: 2.2em 0 .85em; padding-top: 20px; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 16px); }
.art__body h2::before { content: ""; position: absolute; left: 0; top: -2px; width: 44px; height: 3px; border-radius: 2px; background: var(--grad); }
.art__body > h2:first-child, .art__abs + h2 { margin-top: .4em; }
.art__body h3 { font-size: 20px; line-height: 1.4; margin: 1.8em 0 .65em; color: var(--on-primary-c); }
.art__body h4 { font-size: 17.5px; line-height: 1.5; margin: 1.5em 0 .5em; }
.art__body ul, .art__body ol { padding-left: 1.5em; margin: 0 0 1.1em; }
.art__body li { margin: .4em 0; padding-left: .2em; }
.art__body ul li::marker { color: var(--primary); }
.art__body ol li::marker { color: var(--primary); font-weight: 500; }
.art__body a:not(.btn):not(.cite):not(.art__pg) { color: var(--primary); text-decoration: underline; text-decoration-color: var(--primary-line); text-underline-offset: 3px; }
.art__body a:not(.btn):not(.cite):not(.art__pg):hover { text-decoration-color: var(--primary); }
.art__body .cite { color: var(--primary); font-family: var(--sans); font-size: .82em; white-space: nowrap; vertical-align: .08em; }
.art__body .cite:hover { text-decoration: underline; }
.art__body code { font-family: var(--mono); font-size: .86em; padding: .1em .38em; border-radius: 6px; background: var(--surface-c); color: var(--on-primary-c); overflow-wrap: anywhere; }
html[lang="zh-CN"] .art__body code, html[lang="zh-CN"] .art__code { font-family: "Roboto Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, "HX Noto Sans SC", "PingFang SC", "Microsoft YaHei", monospace; }
.art__code { margin: 0 0 1.3em; padding: 18px 22px; border-radius: var(--r-l); background: var(--on-primary-c); color: var(--primary-c-low); font-family: var(--mono); font-size: 14px; line-height: 1.75; overflow-x: auto; white-space: pre; -webkit-overflow-scrolling: touch; }
.art__code code { font: inherit; padding: 0; background: none; color: inherit; overflow-wrap: normal; }
/* abstract + keywords: ruled box, as on a journal title page */
.art__abs { margin: 0 0 2.2em; padding: 18px 0 16px; border-top: 2px solid var(--heading); border-bottom: 1px solid var(--heading); }
.art__body .art__abs-h { margin: 0 0 8px; padding: 0; border: 0; font-size: 15px; font-weight: 600; letter-spacing: .12em; color: var(--heading); }
html[lang="en"] .art__body .art__abs-h { letter-spacing: .08em; text-transform: uppercase; font-size: 13.5px; }
.art__body .art__abs-h::before { display: none; }
.art__abs p { margin: 0; }
.art__body .art__abs > p:first-of-type { text-align: justify; }
html[lang="en"] .art__body p, html[lang="en"] .art__body li { hyphens: auto; -webkit-hyphens: auto; }
html[lang="en"] .art__body .art__refs li, html[lang="en"] .art__body .art__cite-t { hyphens: manual; -webkit-hyphens: manual; }
.art__body .art__kwl { margin-top: 12px; font-size: 15px; line-height: 1.7; color: var(--on-surface-var); text-align: left; }
.art__kwl b { margin-right: .6em; font-family: var(--sans); font-weight: 600; color: var(--heading); }
html[lang="zh-CN"] .art__kwl b::after { content: "："; }
html[lang="en"] .art__kwl b::after { content: ":"; }
/* figures: numbered caption label */
.art__fig { margin: 2em 0 2.2em; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.art__fig img { width: 100%; height: auto; border-radius: var(--r-m); background: var(--on-primary-c); box-shadow: 0 1px 2px rgba(31, 31, 31, .06), 0 24px 48px -28px rgba(1, 86, 211, .45); }
.art__fig figcaption { max-width: 680px; margin: 12px auto 0; font-family: var(--sans); font-size: 14px; line-height: 1.65; color: var(--on-surface-var); text-align: center; text-wrap: pretty; }
.art__fl { font-weight: 600; color: var(--heading); white-space: nowrap; margin-right: .35em; }
/* tables: caption above, three-line (booktabs) rules */
.art__tab { margin: 1.8em 0 1.4em; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.art__tcap { margin: 0 0 10px; font-family: var(--sans); font-size: 14px; line-height: 1.6; color: var(--on-surface-var); text-align: center; text-wrap: pretty; }
.art__tbl { margin: 0; border: 0; border-top: 2px solid var(--heading); border-bottom: 2px solid var(--heading); border-radius: 0; background: transparent; box-shadow: none; }
.art__hint { margin: 0 0 8px; text-align: center; }
@media (min-width: 900px) { .art__hint { display: none; } }
.art__tbl .tbl { min-width: 0; font-size: 13.5px; line-height: 1.6; }
.art__tbl--wide .tbl { min-width: 680px; }
.art__tbl .tbl th, .art__tbl .tbl td { min-width: 4.6em; padding: 10px 11px; text-align: left; border-bottom: 0; }
.art__tbl .tbl tbody tr + tr > * { border-top: 1px solid var(--hairline); }
.art__tbl .tbl thead th { background: transparent; border-bottom: 1px solid var(--heading); white-space: normal; letter-spacing: 0; font-size: 13px; font-weight: 600; color: var(--heading); }
.art__tbl .tbl tbody th { white-space: normal; font-weight: 500; }
.art__tbl .tbl tbody tr:hover { background: var(--surface-low); }
.art__tab + .art__tnote { margin: 0 0 1.8em !important; }
/* references: hanging numbers */
.art__refs { list-style: none; padding: 0 !important; margin: 0 0 1em; font-size: 14px; line-height: 1.7; }
.art__body .art__refs li, html[lang="zh-CN"] .art__body .art__refs li { display: grid; grid-template-columns: 3em minmax(0, 1fr); column-gap: .2em; margin: 0; padding: 7px 8px 7px 0; text-align: left; overflow-wrap: anywhere; border-radius: var(--r-s); scroll-margin-top: calc(var(--hdr-h) + 24px); transition: background-color .4s; }
html[lang="en"] .art__body .art__refs li { font-family: var(--sans); }
.art__refs li + li { border-top: 1px dashed var(--hairline); }
.art__refs li:target { background: var(--primary-c-low); }
.art__rn { color: var(--ink-soft); font-variant-numeric: tabular-nums; text-align: right; padding-right: .45em; white-space: nowrap; }
/* how to cite */
.art__cite-t { margin: 0 0 10px !important; padding: 16px 20px; border-radius: var(--r-m); background: var(--surface-low); box-shadow: inset 3px 0 0 var(--primary); font-size: 15px; line-height: 1.75; text-align: left !important; overflow-wrap: anywhere; }
.art__cite-f { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 !important; font-size: 13px; color: var(--ink-soft); }
.art__note { margin: 0 0 8px; padding: 22px 24px; border-radius: var(--r-l); background: var(--primary-c-low); }
.art__note p { margin: 0 0 16px; text-align: left; }
.art__pager { display: grid; gap: 12px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--hairline); }
@media (min-width: 600px) { .art__pager { grid-template-columns: 1fr 1fr; } }
.art__pg { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: var(--r-l); background: var(--surface-c); color: var(--on-surface); transition: background-color .25s, box-shadow .3s; }
.art__pg:hover { background: var(--surface); box-shadow: var(--e2); }
.art__pg small { font-size: 13px; color: var(--primary); }
.art__pg b { font-size: 15px; line-height: 1.5; font-weight: 500; }
.art__pg--next { text-align: right; }
@media print {
  .art__side, .art__pager, .art__btn, .art__hint, .crumbs, .ftr, .art__hero .lockup__mark { display: none !important; }
  .art__grid { display: block; }
  .art__hero { padding: 0 0 12px !important; background: none !important; }
  .art__body { font-size: 10.5pt; line-height: 1.7; color: var(--heading); }
  .art__fig, .art__tab, .art__abs, .art__cite-t, .art__refs li { break-inside: avoid; }
  .art__body h2, .art__body h3 { break-after: avoid; }
  .art__fig img { box-shadow: none; }
  .art__body .cite { color: inherit; }
}

/* ---------- agent technology series (technology/agentic · frontier · llm-agent · solution) ---------- */
/* series sub-navigation */
.tser__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 720px) { .tser__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .tser__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tser__i { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; height: 100%; padding: 16px 18px; border-radius: var(--r-l); background: var(--surface-c); transition: background-color .2s, box-shadow .3s var(--ease); }
.tser__i:hover { background: var(--primary-c-low); }
.tser__n { grid-row: span 2; align-self: start; width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 500; color: var(--primary); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--primary-line); }
.tser__t { font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--on-surface); }
.tser__d { font-size: 13.5px; line-height: 1.5; color: var(--on-surface-var); }
.tser__i.is-cur { background: linear-gradient(150deg, #0156D3, #0842A0 60%, #3D2E8C); box-shadow: 0 18px 36px -22px rgba(1, 86, 211, .7); }
.tser__i.is-cur .tser__t { color: #FFFFFF; }
.tser__i.is-cur .tser__d { color: rgba(255, 255, 255, .8); }
.tser__i.is-cur .tser__n { color: #FFFFFF; background: rgba(255, 255, 255, .16); box-shadow: none; }
.tser__note { margin: 14px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); text-align: center; }
.tsec-top { padding-top: 40px; }

/* in-page jump chips, group headers */
.tjump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 48px; }
.tjump b { margin-right: 6px; font-size: 14px; font-weight: 500; color: var(--on-surface-var); }
.tgrp { display: grid; gap: 24px; align-items: center; padding: 0 0 36px; scroll-margin-top: calc(var(--hdr-h) + 16px); }
@media (min-width: 1024px) { .tgrp { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } }
.tgrp__no { margin: 0 0 8px; font-size: 14px; font-weight: 500; letter-spacing: .06em; color: var(--primary); }
.tgrp h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.14; letter-spacing: -0.02em; }
.tgrp__q { margin: 14px 0 0; font-size: 19px; line-height: 1.5; color: var(--on-surface); }
.tgrp__d { margin: 8px 0 0; font-size: 15.5px; line-height: 1.65; color: var(--on-surface-var); }
.tgrp__idx { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tgrp__idx a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: var(--r-full); font-size: 14px; line-height: 20px; color: var(--on-surface); background: var(--surface-c); transition: background-color .2s; }
.tgrp__idx a:hover { background: var(--primary-c-low); }
.tgrp__idx span { padding: 1px 9px; border-radius: var(--r-full); font-size: 12.5px; font-weight: 500; color: var(--primary); background: #FFFFFF; }
.tgrp__img { overflow: hidden; border-radius: var(--r-2xl); aspect-ratio: 16 / 9; background: var(--surface-c); box-shadow: 0 24px 48px -32px rgba(1, 86, 211, .45); }
.tgrp__img picture, .tgrp__img img { display: block; width: 100%; height: 100%; }
.tgrp__img img { object-fit: cover; }
.tgrp-sep { height: 1px; margin: 72px 0; background: var(--hairline); border: 0; }

/* one technology / mechanism card */
.titem { padding: 44px 0 52px; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 12px); }
.titem__h { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px 18px; align-items: start; }
.titem__id { min-width: 58px; height: 58px; padding: 0 10px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; letter-spacing: .02em; color: #FFFFFF; background: var(--grad-cool); box-shadow: 0 12px 24px -14px rgba(1, 86, 211, .8); }
.titem__k { margin: 0 0 4px; font-size: 13px; line-height: 1.5; font-weight: 500; letter-spacing: .03em; color: var(--primary); }
.titem h3 { font-size: clamp(23px, 2.5vw, 31px); line-height: 1.25; letter-spacing: -0.015em; font-weight: 500; }
.titem__hl { margin: 6px 0 0; font-size: 17px; line-height: 1.55; color: var(--on-surface-var); }
.titem__lv { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 1024px) {
  .titem__h { grid-template-columns: auto minmax(0, 1fr) auto; }
  .titem__lv { grid-column: auto; max-width: 470px; justify-content: flex-end; padding-top: 4px; }
}
.tlv { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px; border-radius: var(--r-full); font-size: 13.5px; line-height: 20px; color: var(--on-surface); background: var(--surface-c); }
.tlv small { font-size: 12px; color: var(--ink-soft); }
.tlv b { font-weight: 500; }
.tlv--zone { font-weight: 500; }
.tlv--lead { color: var(--or-deep); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.tlv--follow { color: var(--on-primary-c); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.tlv--watch { color: var(--on-surface-var); background: var(--surface-high); }
.tmeter { display: inline-flex; align-items: center; gap: 3px; }
.tmeter i { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--outline-var); }
.tmeter i.on { background: var(--primary); }
.tmeter--star i { width: 12px; height: 12px; border-radius: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.6 7L12 17.3 5.8 20.9l1.6-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.6 7.1.6-5.4 4.7 1.6 7L12 17.3 5.8 20.9l1.6-7L2 9.2l7.1-.6z'/%3E%3C/svg%3E") center / contain no-repeat; }
.tmeter--star i.on { background: var(--or); }
.titem__def { margin: 26px 0 0; padding: 18px 22px; border-radius: var(--r-l); font-size: 17px; line-height: 1.75; color: var(--on-primary-c); background: linear-gradient(120deg, var(--primary-c-low), #F8FAFD); box-shadow: inset 0 0 0 1px var(--primary-line); }
.titem__def b { display: inline-block; margin-right: 10px; padding: 1px 10px; border-radius: var(--r-full); font-size: 13px; line-height: 22px; font-weight: 500; vertical-align: 1px; color: #FFFFFF; background: var(--primary); }
.titem__body { display: grid; gap: 28px; margin-top: 30px; }
@media (min-width: 1024px) { .titem__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 44px; align-items: start; } }
.titem h4 { margin: 0 0 12px; font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--ink-soft); }
.titem__mech ol { list-style: none; margin: 0; padding: 0; counter-reset: mech; display: grid; gap: 16px; }
.titem__mech li { counter-increment: mech; position: relative; padding-left: 40px; }
.titem__mech li::before { content: counter(mech); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 500; color: var(--on-primary-c); background: var(--primary-c); }
.titem__mech li b { display: block; font-size: 16px; line-height: 1.5; font-weight: 500; color: var(--on-surface); }
.titem__mech li span { display: block; margin-top: 3px; font-size: 15px; line-height: 1.75; color: var(--on-surface-var); }
.titem__note { margin: 20px 0 0; padding: 14px 18px; border-radius: 0 var(--r-m) var(--r-m) 0; font-size: 15px; line-height: 1.75; color: var(--on-surface); background: var(--or-c); box-shadow: inset 3px 0 0 var(--or); }
.titem__viz { display: grid; gap: 16px; min-width: 0; }
.titem__reps { margin-top: 28px; }
.titem__reps ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.titem__reps li { padding: 12px 15px; border-radius: var(--r-m); background: var(--surface-c); }
.titem__reps b { display: block; font-size: 14.5px; line-height: 1.45; font-weight: 500; color: var(--on-surface); }
.titem__reps span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.5; color: var(--on-surface-var); }
.titem__foot { display: grid; gap: 14px; margin-top: 24px; }
@media (min-width: 1024px) { .titem__foot { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); } }
.titem__bank { padding: 20px 24px; border-radius: var(--r-l); color: #FFFFFF; background: linear-gradient(150deg, #0156D3, #0842A0 70%, #3D2E8C); }
.titem__bank h4 { color: rgba(255, 255, 255, .78); }
.titem__bank p { margin: 0; font-size: 15.5px; line-height: 1.8; }
.titem__take { margin: 0; padding: 20px 24px; border-radius: var(--r-l); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.titem__take h4 { color: var(--or-deep); }
.titem__take p { margin: 0; font-size: 17px; line-height: 1.65; font-weight: 500; color: var(--on-surface); }
.titem__src { margin: 18px 0 0; font-size: 12.5px; line-height: 1.75; color: var(--ink-soft); overflow-wrap: anywhere; }
.titem__src b { margin-right: 8px; font-weight: 500; color: var(--on-surface-var); }

/* visual blocks */
.tviz { container-type: inline-size; min-width: 0; margin: 0; padding: 20px; border-radius: var(--r-l); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline), 0 18px 36px -30px rgba(1, 86, 211, .35); }
.sec--tint .tviz { box-shadow: 0 18px 36px -30px rgba(1, 86, 211, .35); }
.tviz__t { margin-bottom: 14px; font-size: 14.5px; line-height: 1.5; font-weight: 500; color: var(--on-surface); }
.tviz__note { margin: 14px 0 0; font-size: 13px; line-height: 1.65; color: var(--ink-soft); }
.tbars__rows, .tgbars__rows { display: grid; gap: 10px; }
.tbars__r { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr) auto; align-items: center; gap: 12px; font-size: 13.5px; line-height: 1.4; }
.tbars__l { color: var(--on-surface-var); overflow-wrap: anywhere; }
.tbars__v { min-width: 3.4em; text-align: right; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--on-surface); white-space: nowrap; }
.tbar { display: block; width: 100%; height: 12px; border-radius: 6px; overflow: hidden; }
.tbar__bg { fill: #F0F4F9; }
.tbar__fg { fill: #0156D3; }
.tbars__r.is-hl .tbar__fg { fill: #EB6100; }
.tbars__r.is-hl .tbars__l, .tbars__r.is-hl .tbars__v { color: var(--or-deep); font-weight: 500; }
.tgbars__r { display: grid; gap: 5px; }
.tgbars__l { font-size: 13.5px; line-height: 1.4; font-weight: 500; color: var(--on-surface); }
.tgbars__set { display: grid; gap: 4px; }
.tgbars__b { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 12.5px; }
.tgbars__b .tbar { height: 9px; }
.tlegend { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; line-height: 1.5; color: var(--on-surface-var); }
.tlegend li { display: inline-flex; align-items: center; gap: 6px; }
.tlegend--share { margin: 12px 0 0; }
.tlegend--share b { margin-left: 2px; font-weight: 500; color: var(--on-surface); }
.sw { flex: none; width: 10px; height: 10px; border-radius: 3px; }
.sw.s1 { background: #0156D3; } .sw.s2 { background: #3D8BFF; } .sw.s3 { background: #8B6CF2; } .sw.s4 { background: #E05A8E; } .sw.s5 { background: #EB6100; } .sw.s6 { background: #A8C7FA; }
rect.s1, .tbar.s1 .tbar__fg { fill: #0156D3; } rect.s2, .tbar.s2 .tbar__fg { fill: #3D8BFF; } rect.s3, .tbar.s3 .tbar__fg { fill: #8B6CF2; }
rect.s4, .tbar.s4 .tbar__fg { fill: #E05A8E; } rect.s5, .tbar.s5 .tbar__fg { fill: #EB6100; } rect.s6, .tbar.s6 .tbar__fg { fill: #A8C7FA; }
.tshare__bar { display: block; width: 100%; height: 30px; border-radius: 8px; overflow: hidden; }
.tfacts { display: grid; gap: 10px; }
@container (min-width: 420px) { .tfacts--c2, .tfacts--c3, .tfacts--c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 760px) { .tfacts--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .tfacts--c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tfact { padding: 14px 16px; border-radius: var(--r-m); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.tfact b { display: block; font-size: 15px; line-height: 1.45; font-weight: 500; color: var(--on-surface); }
.tfact p { margin: 6px 0 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
.ttbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--r-m); box-shadow: inset 0 0 0 1px var(--hairline); }
.ttbl { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.6; }
.ttbl--n4 { min-width: 520px; }
.ttbl--n5, .ttbl--n6 { min-width: 760px; }
.ttbl th, .ttbl td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline); }
.ttbl thead th { font-size: 12.5px; font-weight: 500; color: var(--ink-soft); background: var(--surface-low); }
.ttbl tbody th { min-width: 6.5em; font-weight: 500; color: var(--on-surface); }
.ttbl td { color: var(--on-surface-var); }
.ttbl tbody tr:last-child > * { border-bottom: 0; }
.ttbl tbody tr:hover { background: var(--primary-c-low); }
.ttbl__hint { display: none; }
@container (max-width: 759px) { .ttbl__hint { display: block; } }
.tflow { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: fl; }
.tflow li { position: relative; padding: 13px 16px; border-radius: var(--r-m); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.tflow li b { display: block; font-size: 14.5px; line-height: 1.45; font-weight: 500; color: var(--on-surface); }
.tflow li span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.tflow li + li::before { content: ""; position: absolute; left: 24px; top: -10px; width: 2px; height: 10px; background: var(--primary-line); }
@container (min-width: 720px) {
  .tflow { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 14px; }
  .tflow li + li::before { left: -14px; top: 50%; width: 14px; height: 2px; margin-top: -1px; }
  .tflow li + li::after { content: ""; position: absolute; left: -6px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 5px solid var(--primary-line); }
}
.tstack { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tstack li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; padding: 12px 16px; border-radius: var(--r-m); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.tstack li b { font-size: 14.5px; line-height: 1.45; font-weight: 500; color: var(--on-surface); }
.tstack li span { grid-column: 1; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.tstack li em { grid-column: 2; grid-row: 1 / span 2; font-style: normal; font-size: 12px; line-height: 18px; padding: 3px 10px; border-radius: var(--r-full); white-space: nowrap; color: var(--on-primary-c); background: var(--primary-c-low); }
.tstack li.is-hl { background: var(--or-c); box-shadow: inset 0 0 0 1.5px var(--or); }
.tstack li.is-hl em { color: #FFFFFF; background: var(--or); }
@container (max-width: 440px) { .tstack li { grid-template-columns: minmax(0, 1fr); } .tstack li em { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 4px; white-space: normal; } }
.tcall { padding: 16px 20px; border-radius: var(--r-l); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.tcall b { display: block; font-size: 15px; font-weight: 500; color: var(--or-deep); }
.tcall p { margin: 4px 0 0; font-size: 15px; line-height: 1.75; color: var(--on-surface); }
/* eight-layer architecture */
.tlayers { display: grid; gap: 10px; }
@container (min-width: 760px) { .tlayers { grid-template-columns: minmax(0, 1fr) 230px; } }
.tlayers__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tlayers__l li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px 12px; align-items: center; padding: 12px 16px; border-radius: var(--r-m); background: linear-gradient(90deg, var(--primary-c-low), var(--surface-low)); }
@container (min-width: 760px) { .tlayers__l li { grid-template-columns: 30px 150px minmax(0, 1fr); } }
.tlayers__n { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 500; color: #FFFFFF; background: var(--primary); }
.tlayers__l li b { font-size: 14.5px; font-weight: 500; color: var(--on-surface); }
.tlayers__l li > span:last-child { grid-column: 2 / -1; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
@container (min-width: 760px) { .tlayers__l li > span:last-child { grid-column: auto; } }
.tlayers__side { padding: 16px; border-radius: var(--r-m); color: #FFFFFF; background: linear-gradient(180deg, #0156D3, #3D2E8C); }
.tlayers__side b { font-size: 14px; font-weight: 500; }
.tlayers__side ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.tlayers__side li { padding: 8px 10px; border-radius: 8px; font-size: 13.5px; line-height: 1.5; background: rgba(255, 255, 255, .12); }
/* swim-lane sequence */
.tswim-fig .scroll-hint { display: none; }
@container (max-width: 859px) { .tswim-fig .scroll-hint { display: block; } }
.tswim-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tswim { width: 100%; min-width: 860px; table-layout: fixed; border-collapse: separate; border-spacing: 4px; font-size: 13px; line-height: 1.5; }
.tswim thead th { padding: 2px 4px 6px; font-size: 12px; font-weight: 500; text-align: center; color: var(--ink-soft); }
.tswim thead th:first-child { width: 118px; text-align: left; }
.tswim__s { display: inline-flex; width: 24px; height: 24px; border-radius: 50%; align-items: center; justify-content: center; color: var(--on-primary-c); background: var(--primary-c); }
.tswim tbody th { padding: 10px 12px; border-radius: 10px; text-align: left; font-weight: 500; color: var(--on-surface); background: var(--surface-c); }
.tswim td { padding: 10px; border-radius: 10px; text-align: center; vertical-align: middle; color: var(--on-surface-var); border: 1px dashed var(--hairline); }
.tswim td.is-on { border: 0; color: var(--on-primary-c); background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.tswim td.is-mark { border: 0; font-weight: 500; color: var(--or-deep); background: var(--or-c); box-shadow: inset 0 0 0 1.5px var(--or); }
.tswim__lg { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: 12.5px; color: var(--ink-soft); }
.tswim__lg i { width: 14px; height: 14px; border-radius: 4px; background: var(--or-c); box-shadow: inset 0 0 0 1.5px var(--or); }
/* three-party binding, deployment domains */
.ttrio__g { display: grid; gap: 10px; }
@container (min-width: 620px) { .ttrio__g { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ttrio__i { padding: 16px; border-radius: var(--r-m); text-align: center; background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.ttrio__i b { display: block; font-size: 15px; font-weight: 500; color: var(--on-surface); }
.ttrio__i p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.ttrio__c { grid-column: 1 / -1; justify-self: center; margin: 6px 0 0; padding: 7px 18px; border-radius: var(--r-full); font-size: 14px; font-weight: 500; color: #FFFFFF; background: var(--grad-cool); }
.tdom__g { display: grid; gap: 10px; }
@container (min-width: 880px) { .tdom__g { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tdom__z, .tdom__gate { padding: 18px; border-radius: var(--r-m); }
.tdom__z b, .tdom__gate b { display: block; font-size: 15px; font-weight: 500; color: var(--on-surface); }
.tdom__z p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.65; color: var(--on-surface-var); }
.tdom__z em { display: inline-block; margin-top: 10px; padding: 3px 10px; border-radius: var(--r-full); font-style: normal; font-size: 12px; line-height: 18px; color: var(--primary); background: #FFFFFF; }
.tdom__z--a { background: var(--primary-c-low); box-shadow: inset 0 0 0 1.5px var(--primary); }
.tdom__z--b { background: var(--surface-c); box-shadow: inset 0 0 0 1px var(--primary-line); }
.tdom__z--c { background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--outline-var); }
.tdom__gate { background: var(--or-c); box-shadow: inset 0 0 0 1.5px var(--or); }
.tdom__gate ol { margin: 8px 0 0; padding-left: 18px; font-size: 13.5px; line-height: 1.65; color: var(--on-surface); }
/* references */
.trefs { margin-top: 56px; padding: 26px 28px; border-radius: var(--r-xl); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.trefs h3 { font-size: 18px; line-height: 1.4; font-weight: 500; }
.trefs ol { margin: 14px 0 0; padding-left: 22px; columns: 2 380px; column-gap: 40px; font-size: 13px; line-height: 1.7; color: var(--on-surface-var); }
.trefs li { break-inside: avoid; margin-bottom: 4px; overflow-wrap: anywhere; }
.tgrp--solo { grid-template-columns: minmax(0, 1fr) !important; }
.tgrp--solo .tgrp__txt { max-width: 900px; }

/* hub page (technology/agentic) */
.tbase { display: grid; gap: 16px; margin-top: 40px; }
@media (min-width: 1024px) { .tbase { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); } .tbase > .ttbl-fig { grid-column: 1 / -1; } }
.tbase__end { margin: 24px 0 0; }
.tbase__src { text-align: center; }
.tjudg { margin-top: 48px; }
.tsev { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 720px) { .tsev { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .tsev { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; } }
.tsev__s { position: relative; display: flex; flex-direction: column; padding: 20px 16px; border-radius: var(--r-l); background: #FFFFFF; box-shadow: var(--card-shadow), inset 0 0 0 1px var(--card-line); }
.tsev__n { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; color: #FFFFFF; background: var(--grad-cool); }
.tsev__s h3 { margin-top: 12px; font-size: 18px; line-height: 1.35; }
.tsev__s p { flex: 1 0 auto; margin: 8px 0 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
.tsev__map { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.tsev__map .chip { padding: 3px 10px; font-size: 12.5px; line-height: 18px; transition: background-color .2s; }
.tsev__map .chip:hover { background: var(--primary-c); }
@media (min-width: 1100px) { .tsev__s + .tsev__s::before { content: ""; position: absolute; left: -10px; top: 36px; width: 10px; height: 2px; background: var(--primary-line); } }
.tsev__notes { display: grid; gap: 12px; margin-top: 20px; }
@media (min-width: 900px) { .tsev__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tsev__frame { max-width: 920px; margin: 28px auto 0; text-align: center; }
.tsev__more { margin: 16px 0 0; text-align: center; }
.tmap { display: grid; gap: 20px; }
@media (min-width: 1024px) { .tmap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
.tmap__col { padding: 28px; border-radius: var(--r-xl); background: var(--surface-c); }
.tmap__col > h3 { margin-bottom: 14px; font-size: 20px; }
.tmap__zone { padding: 16px 0; border-top: 1px solid var(--hairline); }
.tmap__k { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--on-surface-var); }
.tmap__k .tlv { margin-right: 10px; }
.tmap__k b { display: block; font-size: 16px; font-weight: 500; color: var(--on-surface); }
.tmap__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tmap__chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 4px; border-radius: var(--r-full); font-size: 13.5px; line-height: 20px; color: var(--on-surface); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--hairline); transition: background-color .2s, box-shadow .2s; }
.tmap__chip:hover { background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.tmap__chip b { padding: 0 8px; border-radius: var(--r-full); font-size: 12px; font-weight: 500; color: #FFFFFF; background: var(--primary); }
.tmap__zone--lead .tmap__chip b { background: var(--or); }
.tmap__zone--watch .tmap__chip b { background: var(--outline); }
.tmap__rule { margin: 16px 0; padding: 14px 16px; border-radius: var(--r-m); font-size: 14.5px; line-height: 1.7; color: var(--on-surface); background: #FFFFFF; }
.tmap__prio { list-style: none; margin: 0; padding: 0; }
.tmap__prio li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-top: 1px solid var(--hairline); }
.tmap__pn { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; color: #FFFFFF; background: var(--grad-cool); }
.tabout { display: grid; gap: 20px; }
@media (min-width: 1024px) { .tabout { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tabout__id { display: flex; align-items: center; gap: 18px; }
.tabout__id .avatar { width: 76px; height: 76px; }
.tabout__id h3 { font-size: 22px; }
.tabout__id p { margin: 2px 0 0; font-size: 15px; }
.tabout__facts { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tabout__facts li { padding: 4px 12px; border-radius: var(--r-full); font-size: 13.5px; line-height: 20px; color: var(--on-primary-c); background: var(--primary-c-low); }
.tabout__p > p { margin-bottom: 16px; }
.tabout__r { padding: 28px; border-radius: var(--r-xl); background: #FFFFFF; }
.tabout__r h3 { font-size: 20px; }
.tabout__r ol { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 16px; }
.tabout__r li { display: grid; gap: 4px; padding-left: 16px; box-shadow: inset 3px 0 0 var(--primary-line); }
.tabout__r b { font-size: 15px; font-weight: 500; }
.tabout__r span { font-size: 14px; line-height: 1.75; color: var(--on-surface-var); }

/* group overviews, recap tables, zones (frontier / llm-agent / solution) */
.tov { display: grid; gap: 14px; }
@media (min-width: 720px) { .tov { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .tov--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tov__c { display: flex; flex-direction: column; padding: 22px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 18px 36px -30px rgba(1, 86, 211, .4); }
.tov__no { font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--primary); }
.tov__c h3 { margin-top: 6px; font-size: 21px; }
.tov__q { margin: 6px 0 0; font-size: 15px; color: var(--on-surface); }
.tov__c ol { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--hairline); display: grid; gap: 4px; }
.tov__c ol a { display: flex; gap: 10px; padding: 5px 8px; margin: 0 -8px; border-radius: var(--r-s); font-size: 14px; line-height: 1.5; color: var(--on-surface-var); transition: background-color .2s, color .2s; }
.tov__c ol a:hover { color: var(--on-surface); background: var(--primary-c-low); }
.tov__c ol span { flex: none; min-width: 2.6em; font-weight: 500; color: var(--primary); }
.tov__note { max-width: 920px; margin: 24px auto 0; text-align: center; }
.trecap .tbl { min-width: 760px; }
.trecap .tbl td a, .trecap .tbl th a { color: var(--primary); font-weight: 500; }
.trecap .tbl td a:hover, .trecap .tbl th a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tzones { display: grid; gap: 14px; margin-top: 24px; }
@media (min-width: 1024px) { .tzones { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tzones .tmap__zone { padding: 22px; border-top: 0; border-radius: var(--r-xl); background: var(--surface); }
.tpts { display: grid; gap: 12px; margin-top: 24px; }
@media (min-width: 900px) { .tpts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tpts .tfact { background: var(--surface); }
/* collaboration stack (llm-agent) */
.tstk { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tstk li { display: grid; gap: 10px 20px; align-items: center; padding: 16px 20px; border-radius: var(--r-l); background: var(--surface); box-shadow: 0 14px 30px -26px rgba(1, 86, 211, .5); }
@media (min-width: 1024px) { .tstk li { grid-template-columns: 210px minmax(0, 1fr) 190px; } }
.tstk__n { display: flex; align-items: center; gap: 12px; }
.tstk__n i { flex: none; width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 16px; font-weight: 500; color: #FFFFFF; background: var(--grad-cool); }
.tstk__n b { font-size: 18px; font-weight: 500; color: var(--on-surface); }
.tstk__n small { display: block; font-size: 13px; color: var(--on-surface-var); }
.tstk__items { display: flex; flex-wrap: wrap; gap: 6px; }
.tstk__a { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.tstk__a b { font-weight: 500; color: var(--on-surface-var); }
.tformula { margin-top: 22px; }
.tformula .tviz { background: var(--surface); }
.tduo { display: grid; gap: 12px; margin-top: 12px; }
@media (min-width: 900px) { .tduo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tduo .tfact { background: var(--surface); }
/* solution sections */
.tsol { padding: 44px 0 52px; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 12px); }
.tsol__h { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px 18px; align-items: start; }
.tsol__h h3 { font-size: clamp(23px, 2.5vw, 31px); line-height: 1.25; letter-spacing: -0.015em; font-weight: 500; }
.tsol__h h3 span { color: var(--on-surface-var); }
.tsol__lead { max-width: 920px; margin: 18px 0 0; font-size: 17px; line-height: 1.75; color: var(--on-surface-var); }
.tsol__blocks { display: grid; gap: 16px; margin-top: 26px; }
@media (min-width: 1024px) { .tsol__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tsol__cell--full { grid-column: 1 / -1; } }
.tsol__cell { min-width: 0; display: grid; }
.tsol__pts { display: grid; gap: 10px; margin-top: 18px; }
@media (min-width: 900px) { .tsol__pts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tregs { margin-top: 8px; }
.tsol__ov { margin-top: 20px; }
/* technology overview → the four parts of the agent technology series */
.tpil { display: grid; gap: 14px; }
@media (min-width: 720px) { .tpil { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .tpil { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tpil__c { position: relative; display: flex; flex-direction: column; padding: 24px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 18px 36px -30px rgba(1, 86, 211, .45); transition: box-shadow .35s var(--ease), transform .35s var(--ease-out); }
.tpil__c:hover { transform: translateY(-3px); box-shadow: var(--lift); }
.tpil__n { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; color: #FFFFFF; background: var(--grad-cool); }
.tpil__c h3 { margin-top: 16px; font-size: 20px; line-height: 1.32; }
.tpil__c p { flex: 1 0 auto; margin: 8px 0 0; font-size: 15px; line-height: 1.7; color: var(--on-surface-var); }
.tpil__v { display: block; margin: 18px 0 16px; padding-top: 16px; border-top: 1px solid var(--hairline); }
.tpil__v b { display: block; font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -0.02em; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tpil__v small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--ink-soft); }
.tsol__cell { align-items: start; }
.tregs ol { list-style: none; padding-left: 0; }
.rel-wide { grid-column: 1 / -1; }
.tser__h { margin: 72px 0 20px; text-align: center; }
.tabout__mark { width: 76px; height: 76px; font-size: 24px; font-weight: 500; letter-spacing: .02em; }

/* ---------- careers · 加入我们 (job-posting layout in the manner of LinkedIn / Google Careers) ---------- */
.jtop { background: var(--surface-low); border-bottom: 1px solid var(--hairline); padding: calc(var(--hdr-h) + 24px) 0 32px; }
.jtop .crumbs { justify-content: flex-start; margin-bottom: 16px; }
.jtop__card { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--surface); }
.jtop__co { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 15px; color: var(--on-surface-var); }
.jtop__co img, .jband img { flex: none; width: 40px; height: 40px; padding: 4px; border: 1px solid var(--hairline); border-radius: 8px; background: var(--surface); }
.jtop h1 { font-size: clamp(26px, 3vw, 34px); line-height: 1.25; letter-spacing: -0.01em; text-align: left; }
.jtop__sub { margin: 6px 0 0; font-size: 17px; color: var(--on-surface); }
.jtop__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 10px 0 0; font-size: 14.5px; color: var(--ink-soft); }
.jtop__meta svg { width: 16px; height: 16px; margin-right: 2px; }
.jtop__ins { list-style: none; margin: 18px 0 0; padding: 16px 0 0; display: grid; gap: 10px; border-top: 1px solid var(--hairline); }
.jtop__ins li { display: flex; align-items: flex-start; gap: 10px; font-size: 15.5px; line-height: 1.5; color: var(--on-surface); }
.jtop__ins svg { flex: none; width: 20px; height: 20px; color: var(--ink-soft); }
.jtop__ins .is-pay span { font-weight: 600; color: var(--heading); }
.jtop__act { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 22px; }
.jtop__who { font-size: 14px; color: var(--ink-soft); }
.jtop__who a, .jside__mail a, .jdl--apply a { color: var(--primary); }
.jtop__who a:hover, .jside__mail a:hover, .jdl--apply a:hover { text-decoration: underline; text-underline-offset: 3px; }

.jbody { padding: 36px 0 var(--sec); background: var(--surface); }
.jbody__grid { display: grid; gap: 28px; }
@media (min-width: 1024px) {
  .jbody__grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
  .jside { position: sticky; top: calc(var(--hdr-h) + 24px); }
}
.jmain { min-width: 0; max-width: 820px; font-size: 16px; line-height: 1.75; color: var(--on-surface); }
.jpart { padding: 28px 0 16px; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 16px); }
.jpart:first-child { padding-top: 0; border-top: 0; }
.jpart h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.35; text-align: left; }
.jpart p { margin: 0 0 12px; }
.jpart .jpart__t { font-size: 17px; font-weight: 600; line-height: 1.6; color: var(--heading); }
.jpart__h3 { margin: 22px 0 8px; font-size: 17px; }
.jpart h4 { margin: 18px 0 6px; font-size: 15.5px; font-weight: 600; color: var(--heading); }
.jbul, .jnum { margin: 0 0 12px; padding-left: 1.3em; }
.jbul { list-style: disc; }
.jnum { list-style: decimal; }
.jbul li, .jnum li { margin: 6px 0; padding-left: .2em; }
.jbul li::marker { color: var(--ink-soft); }
.jnum li::marker { font-weight: 600; color: var(--heading); }
.jbul--kd b { font-weight: 600; color: var(--heading); }
.jduty { list-style: none; margin: 0; padding: 0; }
.jduty h3 { display: flex; align-items: baseline; gap: 10px; margin: 16px 0 4px; font-size: 17px; }
.jduty h3 span, .jreq h3 span { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--primary); }
.jreq { margin-top: 24px; scroll-margin-top: calc(var(--hdr-h) + 16px); }
.jreq h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 8px; font-size: 18px; }
.jdl { margin: 12px 0 14px; }
.jdl div { padding: 10px 0; border-top: 1px solid var(--hairline); }
.jdl div:last-child { border-bottom: 1px solid var(--hairline); }
@media (min-width: 700px) { .jdl div { display: grid; grid-template-columns: 10em minmax(0, 1fr); gap: 16px; } [lang="en"] .jdl div { grid-template-columns: 13em minmax(0, 1fr); } }
.jdl dt { font-size: 15px; font-weight: 600; color: var(--heading); }
.jdl dd { margin: 0; font-size: 15px; }
.jdl ol { margin: 0; padding-left: 1.3em; }
.jdl--offer dd b { display: block; font-size: 17px; color: var(--heading); }
.jdl--offer dd span { display: block; color: var(--on-surface-var); }
.jsmall, .jpart .jsmall { font-size: 14px; line-height: 1.7; color: var(--ink-soft); }
.jsmall b { color: var(--heading); }
.jtbl { margin: 14px 0 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 2px solid var(--heading); border-bottom: 2px solid var(--heading); }
.jtbl table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.jtbl--wide table { min-width: 640px; }
.jtbl th, .jtbl td { padding: 10px 12px; text-align: left; vertical-align: top; }
.jtbl thead th { font-weight: 600; color: var(--heading); white-space: nowrap; border-bottom: 1px solid var(--heading); }
.jtbl tbody tr + tr > * { border-top: 1px solid var(--hairline); }
.jtbl tbody th { min-width: 6.5em; font-weight: 600; color: var(--heading); }
.jtbl ul { margin: 0; padding-left: 1.1em; }
.jtbl li { margin: 2px 0; }
.jtbl--w td:nth-child(2) { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--heading); }
.jtbl--venues tbody th { white-space: nowrap; }
.jsteps { list-style: none; counter-reset: jst; margin: 4px 0 8px; padding: 0; }
.jsteps li { counter-increment: jst; position: relative; padding: 0 0 14px 40px; }
.jsteps li::before { content: counter(jst); position: absolute; left: 0; top: 1px; width: 26px; height: 26px; border: 1px solid var(--outline-var); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: var(--heading); background: var(--surface); }
.jsteps li:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 30px; bottom: 2px; width: 1px; background: var(--hairline); }
.jsteps b { display: block; font-weight: 600; color: var(--heading); }
.jsteps span { font-size: 15px; color: var(--on-surface-var); }
.jpart__btn { margin-top: 18px; }
.jside { display: grid; gap: 16px; }
.jside__box { padding: 20px 22px; border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--surface); }
.jside h2 { margin: 0 0 12px; font-size: 17px; text-align: left; }
.jside dl { margin: 0; }
.jside dl div { padding: 9px 0; border-top: 1px solid var(--hairline); }
.jside dl div:first-child { padding-top: 0; border-top: 0; }
.jside dt { font-size: 13px; color: var(--ink-soft); }
.jside dd { margin: 2px 0 0; font-size: 14.5px; line-height: 1.55; color: var(--on-surface); }
.jside__who { display: flex; align-items: center; gap: 12px; }
.jside__av { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 600; color: var(--primary); background: var(--primary-c-low); }
.jside__who b { display: block; font-size: 15.5px; color: var(--heading); }
.jside__who small { font-size: 13px; color: var(--ink-soft); }
.jside__mail { margin: 12px 0 14px; font-size: 14px; overflow-wrap: anywhere; }
.jside__btn { width: 100%; }

/* job card (home · company) */
.jband { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px 16px; align-items: center; margin-top: 40px; padding: 20px 22px; border: 1px solid var(--hairline); border-radius: var(--r-m); background: var(--surface); color: inherit; transition: border-color .2s, box-shadow .3s; }
.jband:hover { border-color: var(--primary-line); box-shadow: var(--e2); }
.jband img { width: 44px; height: 44px; }
.jband__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; text-align: left; }
.jband__txt small { font-size: 12.5px; font-weight: 600; letter-spacing: .04em; color: var(--primary); }
.jband__txt b { font-size: 17.5px; font-weight: 600; line-height: 1.4; color: var(--heading); }
.jband__txt span { font-size: 14px; color: var(--ink-soft); }
.jband__pay { grid-column: 2; font-size: 15.5px; font-weight: 600; color: var(--heading); }
.jband__go { grid-column: 2; display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 500; color: var(--primary); }
.jband__go svg { width: 16px; height: 16px; }
@media (min-width: 900px) { .jband { grid-template-columns: 44px minmax(0, 1fr) auto auto; gap: 24px; } .jband__pay, .jband__go { grid-column: auto; } }
.announces { display: flex; flex-wrap: wrap; gap: 10px 12px; }
.hero .announces { justify-content: center; margin: 28px 0 0; }
.hero .announces .announce { margin: 0; }
.announce--job .announce__tag { background: var(--primary); }

/* ---------- research papers (preprints): journal article layout ---------- */
.pap-head { position: relative; background: var(--surface); padding: calc(var(--hdr-h) + 22px) 0 28px; border-bottom: 1px solid var(--hairline); }
.pap-head::before { content: ""; position: absolute; left: 0; right: 0; top: var(--hdr-h); height: 3px; background: var(--grad); opacity: .85; }
.pap-head .crumbs { justify-content: flex-start; margin: 10px 0 14px; }
.pap-mast { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding-bottom: 10px; border-bottom: 2px solid var(--heading); font-size: 13.5px; color: var(--on-surface-var); }
.pap-mast__j b { font-weight: 600; color: var(--heading); letter-spacing: .04em; }
.pap-mast__t { letter-spacing: .02em; }
.pap-front { max-width: 920px; margin: 30px auto 0; text-align: center; }
.pap-label { margin: 0 0 14px; font-size: 13.5px; color: var(--ink-soft); }
.pap-title { margin: 0 auto; font-size: clamp(25px, 2.9vw, 36px); line-height: 1.32; letter-spacing: -0.005em; font-weight: 600; color: var(--heading); text-wrap: balance; }
html[lang="zh-CN"] .pap-title { word-break: normal; letter-spacing: .01em; }
.pap-authors { margin: 18px 0 0; font-size: 17px; line-height: 1.6; color: var(--heading); }
.pap-au sup { font-size: .68em; margin-left: 1px; }
.pap-au sup a { color: var(--primary); }
.pap-au sup a:hover { text-decoration: underline; }
.pap-affs { max-width: 820px; margin: 14px auto 0; font-size: 13.5px; line-height: 1.65; color: var(--on-surface-var); }
.pap-affs__k { margin: 0 0 2px; font-weight: 600; color: var(--heading); }
.pap-affs ol { list-style: none; margin: 0; padding: 0; }
.pap-affs li { margin: 2px 0; scroll-margin-top: calc(var(--hdr-h) + 24px); }
.pap-affs li:target { background: var(--primary-c-low); border-radius: var(--r-s); }
.pap-affs sup { margin-right: 2px; font-size: .78em; color: var(--heading); }
.pap-affs a { color: var(--primary); }
.pap-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 22px 0 0; }

.pap { padding-top: 32px; }
html[lang="zh-CN"] .pap__body p, html[lang="zh-CN"] .pap__body li, html[lang="zh-CN"] .pap__body figcaption, html[lang="zh-CN"] .pap-end, html[lang="zh-CN"] .pap-abs {
  font-family: "HX Noto Serif SC", Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "Noto Serif SC", "Noto Serif CJK SC", "Source Han Serif SC", "Songti SC", "STSong", serif; }
html[lang="zh-CN"] .pap__body > p { text-indent: 0; }
html[lang="zh-CN"] .pap__body .art__cite-t, html[lang="zh-CN"] .pap__body .art__cite-f, html[lang="zh-CN"] .pap__body .art__pager * { font-family: var(--sans); }
.pap__body { font-size: 16.5px; line-height: 1.85; }
@media (min-width: 1024px) { .pap__body { font-size: 17px; } }
.pap__body h2 { font-size: clamp(21px, 2vw, 25px); margin: 2em 0 .8em; padding-top: 22px; border-top: 1px solid var(--hairline); }
.pap__body h2::before { display: none; }
.pap__body h3 { font-size: 18.5px; margin: 1.6em 0 .6em; color: var(--heading); }
.pap__body .cite-sup { font-family: var(--sans); font-size: .7em; line-height: 0; vertical-align: .58em; white-space: nowrap; }
.pap__body .cite-sup a { color: var(--primary); }
.pap__body .cite-sup a:hover { text-decoration: underline; }
.pap__body sub { font-size: .72em; }
/* abstract + keywords: as on the first page of the paper */
.pap-abs { margin: 0 0 1.6em; padding: 18px 0 16px; border-top: 2px solid var(--heading); border-bottom: 1px solid var(--hairline); }
.pap-abs p { margin: 0; text-align: justify; }
.pap-abs__k { font-family: var(--sans); font-weight: 600; color: var(--heading); }
.pap-abs .pap-kw { margin-top: 12px; font-size: 15px; color: var(--on-surface-var); text-align: left; }
.pap-kw strong { font-family: var(--sans); font-weight: 600; color: var(--heading); }
.pap-note { padding: 10px 0 10px 16px; border-left: 3px solid var(--primary-line); font-style: italic; color: var(--on-surface-var); }
html[lang="zh-CN"] .pap-note { font-style: normal; }
.pap-list { padding-left: 1.6em; }
.pap-list li { margin: .35em 0; }
.pap-code { background: var(--surface-low); color: var(--heading); border: 1px solid var(--hairline); border-radius: var(--r-s); font-size: 14.5px; }
/* figures: white charts, caption below, label first (Nature style) */
.pap-fig { margin: 1.8em 0 2em; }
.pap-fig img { background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-s); box-shadow: none; }
.pap-fig figcaption { max-width: none; margin: 12px 0 0; font-size: 14.5px; line-height: 1.7; color: var(--on-surface-var); text-align: left; text-wrap: pretty; }
.pap-fig figcaption strong, .pap-tcap strong { color: var(--heading); font-weight: 600; }
/* tables: title above, three-line rules */
.pap-tab { margin: 1.6em 0 1.8em; }
.pap-tcap { margin: 0 0 10px; font-size: 14.5px; line-height: 1.65; color: var(--on-surface-var); text-align: left; }
html[lang="zh-CN"] .pap-tcap { font-family: "HX Noto Serif SC", Charter, Georgia, "Noto Serif CJK SC", "Songti SC", serif; }
.pap-tbl--dense .tbl { font-size: 12.5px; }
.pap-tbl--dense .tbl th, .pap-tbl--dense .tbl td { min-width: 3.2em; padding: 9px 8px; }
/* references */
.pap-refs { list-style: none; padding: 0; margin: 0 0 1em; font-size: 14px; line-height: 1.65; }
.pap-refs li { display: grid; grid-template-columns: 2.4em minmax(0, 1fr); column-gap: .3em; padding: 6px 6px 6px 0; border-radius: var(--r-s); text-align: left; overflow-wrap: anywhere; scroll-margin-top: calc(var(--hdr-h) + 24px); transition: background-color .4s; }
.pap-refs li:target { background: var(--primary-c-low); }
.pap-rn { text-align: right; padding-right: .4em; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.pap-refs a { color: var(--primary); text-decoration: none !important; }
.pap-refs a:hover { text-decoration: underline !important; }
/* end matter */
.pap-end { margin: 2em 0 0; padding-top: 18px; border-top: 1px solid var(--hairline); font-size: 15px; line-height: 1.75; }
.pap-end p { margin: 0 0 10px; text-align: left !important; }
.pap-end strong { font-family: var(--sans); font-weight: 600; color: var(--heading); }
.pap-copy { margin-top: 16px !important; padding-top: 14px; border-top: 1px solid var(--hairline); font-size: 13.5px; color: var(--ink-soft); }
.pap-end a { color: var(--primary); }

/* research index + home: papers listed like a journal's table of contents */
.plist { display: grid; gap: 18px; margin: 18px 0 28px; }
.pcard { display: grid; gap: 18px; padding: 22px 24px; border: 1px solid var(--hairline); border-top: 3px solid var(--heading); border-radius: var(--r-m); background: var(--surface); }
@media (min-width: 900px) { .pcard { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; } }
.pcard__k { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 10px; font-size: 13.5px; color: var(--on-surface-var); }
.pcard__k .chip { font-size: 12.5px; padding: 2px 10px; }
.pcard h3 { margin: 0; font-size: clamp(19px, 1.8vw, 22px); line-height: 1.4; }
.pcard h3 a { color: var(--heading); }
.pcard h3 a:hover { color: var(--primary); }
.pcard__au { margin: 8px 0 0; font-size: 14.5px; color: var(--heading); }
.pcard__au sup { font-size: .7em; color: var(--ink-soft); }
.pcard__abs { margin: 10px 0 0; font-size: 14.5px; line-height: 1.75; color: var(--on-surface-var); }
.pcard__abs b { color: var(--heading); font-weight: 600; }
.pcard__kw { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.pcard__kw span { font-size: 12.5px; line-height: 18px; padding: 2px 9px; border-radius: var(--r-full); background: var(--surface-c); color: var(--on-surface-var); }
.pcard__m { margin: 10px 0 0; font-size: 13px; color: var(--ink-soft); }
.pcard__go { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 10px 0 0; }
.pcard__pdf { font-size: 14px; font-weight: 500; color: var(--primary); }
.pcard__pdf:hover { text-decoration: underline; text-underline-offset: 3px; }
.pcard__img { display: block; border: 1px solid var(--hairline); border-radius: var(--r-s); overflow: hidden; background: #FFFFFF; }
.pcard__img img { width: 100%; height: auto; }
.hres__ph { margin: 0 0 4px; }
.plist--home { margin: 10px 0 28px; }
@media print { .pap-head::before, .pap-acts { display: none !important; } .pap-head { padding-top: 0; } }
/* papers: reference list, formula-heavy paragraphs and English abstracts stay ragged-right (no stretched gaps) */
html[lang] .art__body > ol.pap-refs > li, .art__body > p.pap-p--l { text-align: left; }
html[lang="en"] .pap-abs p { text-align: left; }

/* =============================================================================
   坤犀医疗大模型 / KunXi Medical LLM (/medical/…): deep-space AI panels (#070B14) inside light pages, live console,
   charts that draw in ([data-draw] → .is-on), product screens rebuilt in HTML. Palette only (see scripts/check.mjs).
   ============================================================================= */
.mxhero .phero__lead { max-width: 860px; }
.mxhero__media { margin-top: 56px; text-align: left; }
@media (min-width: 1024px) { .mxhero__media { margin-top: 72px; } }
.mxsp { height: 56px; }
.mxsp--lg { height: 88px; }
@media (min-width: 1024px) { .mxsp { height: 80px; } .mxsp--lg { height: 120px; } }

/* sub-navigation */
.mxnav__brand { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 10px; margin: 0 0 16px; font-size: 14px; color: var(--ink-soft); }
.mxnav__brand b { font-size: 16px; font-weight: 600; letter-spacing: .02em; background: var(--grad-cool); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxnav__mark { width: 22px; height: 22px; border-radius: 7px; background: linear-gradient(135deg, #0156D3, #3D8BFF 45%, #8B6CF2 80%, #E05A8E); box-shadow: 0 6px 14px -6px rgba(1, 86, 211, .6); position: relative; }
.mxnav__mark::after { content: ""; position: absolute; inset: 5px; background: #FFFFFF; -webkit-mask: var(--sparkle) center / contain no-repeat; mask: var(--sparkle) center / contain no-repeat; }
.mxnav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 640px) { .mxnav__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxnav__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mxnav__i { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; height: 100%; padding: 14px 16px; border-radius: var(--r-l); background: var(--surface-c); transition: background-color .2s, box-shadow .3s var(--ease), transform .3s var(--ease-out); }
.mxnav__i:hover { background: var(--primary-c-low); transform: translateY(-2px); }
.mxnav__n { grid-row: span 2; align-self: start; width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 500; color: var(--primary); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--primary-line); }
.mxnav__t { font-size: 15.5px; font-weight: 500; line-height: 1.4; color: var(--on-surface); }
.mxnav__d { font-size: 13px; line-height: 1.5; color: var(--on-surface-var); }
.mxnav__i.is-cur { background: linear-gradient(150deg, #0156D3, #0842A0 55%, #3D2E8C); box-shadow: 0 18px 36px -22px rgba(1, 86, 211, .7); }
.mxnav__i.is-cur .mxnav__t { color: #FFFFFF; }
.mxnav__i.is-cur .mxnav__d { color: rgba(255, 255, 255, .8); }
.mxnav__i.is-cur .mxnav__n { color: #FFFFFF; background: rgba(255, 255, 255, .16); box-shadow: none; }

.mxnote { max-width: 940px; margin: 64px auto 0; padding: 16px 20px; border-radius: var(--r-l); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); font-size: 13.5px; line-height: 1.75; color: var(--ink-soft); }
.mxsrc { margin: 24px 0 0; font-size: 12.5px; line-height: 1.7; color: var(--ink-soft); }
.mxsrc b { margin-right: 8px; font-weight: 500; color: var(--on-surface-var); }
.mxsubh { margin: 64px 0 20px; font-size: clamp(20px, 2vw, 24px); font-weight: 500; text-align: center; }
.mxmore { margin: 32px 0 0; text-align: center; }
.mxmore .link { justify-content: center; }

/* A0–A4 action chips */
.mxa { display: inline-flex; align-items: center; flex: none; padding: 1px 9px; border-radius: var(--r-full); font-style: normal; font-size: 11.5px; line-height: 19px; font-weight: 500; white-space: nowrap; }
.mxa--a0 { background: var(--surface-high); color: var(--on-surface-var); }
.mxa--a1 { background: var(--primary-c-low); color: var(--primary-deep); }
.mxa--a2 { background: var(--primary-c); color: var(--on-primary-c); }
.mxa--a3 { background: var(--or-c); color: var(--or-deep); box-shadow: inset 0 0 0 1px var(--or-line); }
.mxa--a4 { background: #3D2E8C; color: #FFFFFF; }
:is(.mxdark, .mxcon, .mxjr, .mxui--ws) .mxa--a0 { background: rgba(255, 255, 255, .1); color: #E3E3E3; }
:is(.mxdark, .mxcon, .mxjr, .mxui--ws) .mxa--a1 { background: rgba(124, 172, 248, .16); color: #A8C7FA; }
:is(.mxdark, .mxcon, .mxjr, .mxui--ws) .mxa--a2 { background: rgba(61, 139, 255, .28); color: #FFFFFF; }
:is(.mxdark, .mxcon, .mxjr, .mxui--ws) .mxa--a3 { background: rgba(235, 97, 0, .2); color: #FFB68A; box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .3); }

/* ---------- deep-space panels ---------- */
.mxdark { position: relative; isolation: isolate; overflow: hidden; margin-left: var(--inset); margin-right: var(--inset); border-radius: var(--r-2xl); background: #070B14; color: #FFFFFF; }
@media (min-width: 1024px) { .mxdark { border-radius: var(--r-3xl); } }
@media (max-width: 599px) { .mxdark { margin: 0; border-radius: 0; } }
.mxdark .wrap { position: relative; z-index: 1; }
.mxdark__fx { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(60% 50% at 12% 0%, rgba(1, 86, 211, .45), rgba(1, 86, 211, 0) 70%), radial-gradient(45% 45% at 92% 18%, rgba(139, 108, 242, .32), rgba(139, 108, 242, 0) 70%), radial-gradient(50% 40% at 60% 108%, rgba(224, 90, 142, .2), rgba(224, 90, 142, 0) 70%); }
.mxdark__fx::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, rgba(255, 255, 255, 0) 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, rgba(255, 255, 255, 0) 1px); background-size: 48px 48px; -webkit-mask-image: radial-gradient(70% 60% at 50% 30%, #000000 20%, rgba(0, 0, 0, 0) 100%); mask-image: radial-gradient(70% 60% at 50% 30%, #000000 20%, rgba(0, 0, 0, 0) 100%); }
.mxdark :is(h2, h3, h4) { color: #FFFFFF; }
.mxdark .hl, .mxcon .hl { background: linear-gradient(120deg, #7CACF8 0%, #8B6CF2 55%, #E05A8E 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxdark .mxsrc { color: rgba(255, 255, 255, .55); }
.mxdark .mxsrc b { color: rgba(255, 255, 255, .78); }
.mxdh { max-width: 900px; margin: 0 auto 48px; text-align: center; }
.mxdh__e { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 5px 14px; border-radius: var(--r-full); font-size: 13.5px; font-weight: 500; letter-spacing: .04em; color: #A8C7FA; background: rgba(61, 139, 255, .12); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .28); }
.mxdh__e::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #3D8BFF; box-shadow: 0 0 10px #3D8BFF; }
.mxdh h2 { font-size: clamp(28px, 3.6vw, 46px); line-height: 1.16; letter-spacing: -0.02em; }
.mxdh__l { max-width: 760px; margin: 18px auto 0; font-size: 17px; line-height: 1.75; color: rgba(255, 255, 255, .72); }
.mxdnote { margin-top: 28px; padding: 18px 22px; border-radius: var(--r-l); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxdnote b { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 500; color: #FFB68A; }
.mxdnote p, .mxdnote li { margin: 0; font-size: 14.5px; line-height: 1.75; color: rgba(255, 255, 255, .78); }
.mxdnote ul { list-style: none; display: grid; gap: 6px; }
@media (min-width: 900px) { .mxdnote ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.mxdnote li { position: relative; padding-left: 16px; }
.mxdnote li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: #3D8BFF; }

/* ---------- hero console (overview) ---------- */
.mxcon { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--r-2xl); background: #070B14; color: #FFFFFF; box-shadow: 0 50px 100px -50px rgba(1, 86, 211, .7), 0 0 0 1px rgba(1, 86, 211, .25); }
.mxcon::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 60% at 50% 45%, rgba(61, 139, 255, .28), rgba(61, 139, 255, 0) 70%), radial-gradient(40% 50% at 0% 100%, rgba(139, 108, 242, .22), rgba(139, 108, 242, 0) 70%), radial-gradient(35% 45% at 100% 0%, rgba(224, 90, 142, .16), rgba(224, 90, 142, 0) 70%); }
.mxcon__bar { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 13px; }
.mxcon__bar b { font-weight: 500; color: #FFFFFF; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mxcon__bar em { margin-left: auto; flex: none; font-style: normal; font-size: 11.5px; padding: 2px 10px; border-radius: var(--r-full); color: #A8C7FA; background: rgba(61, 139, 255, .12); }
.mxcon__dots { display: inline-flex; gap: 6px; flex: none; }
.mxcon__dots i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.mxcon__dots i:first-child { background: #E05A8E; } .mxcon__dots i:nth-child(2) { background: #FFB68A; } .mxcon__dots i:nth-child(3) { background: #3D8BFF; }
.mxcon__grid { display: grid; gap: 8px; padding: 20px; }
@media (min-width: 1000px) { .mxcon__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr) minmax(0, 1.05fr); gap: 0; padding: 28px 28px 20px; } }
.mxcon__h { margin: 0 0 12px; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.mxcon__lanes ol { list-style: none; display: grid; gap: 10px; }
.mxcon__lanes li { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 10px; }
html[lang="en"] .mxcon__lanes li { grid-template-columns: 96px minmax(0, 1fr); }
.mxcon__lb { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255, 255, 255, .85); white-space: nowrap; }
.mxcon__lb i { width: 8px; height: 8px; border-radius: 2px; flex: none; }
.mxcon__trk { width: 100%; height: 14px; overflow: visible; }
.mxcon__base { stroke: rgba(255, 255, 255, .12); stroke-width: 1; vector-effect: non-scaling-stroke; }
.c1 { --c: #3D8BFF; } .c2 { --c: #8B6CF2; } .c3 { --c: #E05A8E; } .c4 { --c: #FFB68A; } .c5 { --c: #7CACF8; } .c6 { --c: #A8C7FA; } .c7 { --c: #EB6100; }
.mxcon__lb i { background: var(--c); box-shadow: 0 0 8px var(--c); }
.mxcon__ev { fill: var(--c); }
.mxcon__ev.is-last { filter: drop-shadow(0 0 4px var(--c)); }
.mxcon__axis { display: flex; justify-content: space-between; margin: 10px 0 0 98px; font-size: 11.5px; color: rgba(255, 255, 255, .45); }
html[lang="en"] .mxcon__axis { margin-left: 106px; }
.mxcon__mid { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; padding: 8px 0; }
.mxcon__wires { display: none; }
@media (min-width: 1000px) { .mxcon__wires { display: block; position: absolute; inset: 24px 0 52px; width: 100%; height: calc(100% - 76px); z-index: 0; } }
.mxcon__beam { fill: none; stroke: rgba(124, 172, 248, .55); stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-dasharray: 3 7; }
.mxcon__beam--o { stroke: rgba(255, 182, 138, .6); }
.mxcon__orb { position: relative; z-index: 1; width: min(260px, 72vw); height: auto; overflow: visible; }
.mxcon__ring { fill: none; stroke-width: 1.2; transform-box: fill-box; transform-origin: center; }
.mxcon__ring--a { stroke: rgba(124, 172, 248, .35); stroke-dasharray: 2 10; }
.mxcon__ring--b { stroke-width: 2; stroke-dasharray: 120 40 30 40; }
.mxcon__ring--c { stroke: rgba(255, 255, 255, .14); }
.mxcon__core { filter: drop-shadow(0 0 24px rgba(61, 139, 255, .65)); }
.mxcon__pulse { fill: rgba(61, 139, 255, .35); transform-box: fill-box; transform-origin: center; opacity: 0; }
.mxcon__big { fill: #FFFFFF; font-size: 40px; font-weight: 600; letter-spacing: .02em; font-family: var(--sans); }
.mxcon__sub { fill: rgba(255, 255, 255, .78); font-size: 13px; font-family: var(--sans); }
.mxcon__ops { position: relative; z-index: 1; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 10px; }
.mxcon__ops li { padding: 3px 11px; border-radius: var(--r-full); font-size: 12px; color: #FFFFFF; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.mxcon__task { position: relative; z-index: 1; padding: 18px; border-radius: var(--r-l); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); }
.mxcon__prog { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 12.5px; color: #A8C7FA; }
.mxcon__prog svg { flex: 1; height: 6px; }
.mxcon__pbg { fill: rgba(255, 255, 255, .1); }
.mxcon__pfg { fill: #3D8BFF; }
.mxcon__steps { list-style: none; display: grid; gap: 6px; }
.mxcon__steps li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 5px 8px; border-radius: 8px; font-size: 13px; color: rgba(255, 255, 255, .82); }
.mxcon__steps li i { width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
.mxcon__steps li.is-done i { background: #3D8BFF; box-shadow: none; }
.mxcon__steps li.is-done i::after { content: ""; display: block; width: 5px; height: 3px; margin: 3px 0 0 3px; border: 1.5px solid #FFFFFF; border-top: 0; border-right: 0; transform: rotate(-45deg); }
.mxcon__steps li.is-cur { background: rgba(235, 97, 0, .12); box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .35); color: #FFFFFF; }
.mxcon__steps li.is-cur i { background: #EB6100; box-shadow: 0 0 0 4px rgba(235, 97, 0, .25); }
.mxcon__steps li.is-todo { color: rgba(255, 255, 255, .5); }
.mxcon__ev { }
.mxcon__task .mxcon__ev { display: grid; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed rgba(255, 255, 255, .14); }
.mxcon__task .mxcon__ev p { margin: 0; font-size: 12.5px; line-height: 1.55; color: rgba(255, 255, 255, .7); }
.mxcon__task .mxcon__ev b { margin-right: 8px; font-weight: 500; color: #FFB68A; }
.mxcon__foot { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, .08); }
@media (min-width: 760px) { .mxcon__foot { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxcon__foot li { padding: 16px 20px; border-right: 1px solid rgba(255, 255, 255, .06); }
.mxcon__foot b { display: block; font-size: clamp(20px, 2.2vw, 28px); font-weight: 600; line-height: 1.2; background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxcon__foot span { font-size: 12.5px; color: rgba(255, 255, 255, .6); }
/* ambient motion (only while on screen; never under reduced motion) */
@keyframes mxspin { to { transform: rotate(360deg); } }
@keyframes mxspinr { to { transform: rotate(-360deg); } }
@keyframes mxpulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2); opacity: 0; } }
@keyframes mxflow { to { stroke-dashoffset: -100; } }
@keyframes mxblink { 50% { opacity: .35; } }
.mx-live .mxcon__ring--a { animation: mxspin 60s linear infinite paused; }
.mx-live .mxcon__ring--b { animation: mxspinr 36s linear infinite paused; }
.mx-live .mxcon__pulse { animation: mxpulse 2.8s var(--ease-out) infinite paused; }
.mx-live .mxcon__beam { animation: mxflow 6s linear infinite paused; }
.mx-live .mxcon__steps li.is-cur i, .mx-live .mxjr__tk.is-cur, .mx-live .mxjr__pulse { animation: mxblink 1.6s ease-in-out infinite paused; }
.mx-live.is-live :is(.mxcon__ring--a, .mxcon__ring--b, .mxcon__pulse, .mxcon__beam, .mxcon__steps li.is-cur i, .mxjr__tk.is-cur, .mxjr__pulse) { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) { .mx-live * { animation: none !important; } }

/* ---------- charts ---------- */
.mxchart { margin: 0; padding: 22px 22px 18px; border-radius: var(--r-xl); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline), 0 24px 48px -36px rgba(1, 86, 211, .4); }
.mxchart__t { margin-bottom: 12px; font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--on-surface); }
.mxchart__n { margin: 10px 0 0; font-size: 12.5px; color: var(--ink-soft); }
.mxc { width: 100%; height: auto; overflow: visible; font-family: var(--sans); }
.mxc__grid { stroke: var(--hairline); stroke-width: 1; }
.mxc__axis { stroke: var(--outline-var); stroke-width: 1.2; }
.mxc__tick { fill: var(--ink-soft); font-size: 13px; }
.mxc__cat { fill: var(--on-surface); font-size: 15px; font-weight: 500; }
.mxc__bar { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 1.1s var(--ease-out); }
.mxc__bar.s1 { fill: #A8C7FA; } .mxc__bar.s2 { fill: #EB6100; }
.mxc__val { font-size: 15px; font-weight: 600; transition: opacity .6s .8s; }
.mxc__val.s1 { fill: var(--primary-deep); } .mxc__val.s2 { fill: var(--or-deep); }
.js [data-draw]:not(.is-on) .mxc__bar { transform: scaleY(0); }
.js [data-draw]:not(.is-on) :is(.mxc__val, .mxc__end, .mxc__endv) { opacity: 0; }
.mxc__ln { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--ease-out); }
.js [data-draw]:not(.is-on) .mxc__ln { stroke-dashoffset: 1; }
.mxc__ln.s1 { stroke: #E05A8E; } .mxc__ln.s2 { stroke: #FFB68A; } .mxc__ln.s3 { stroke: #3D8BFF; stroke-width: 4.5; filter: drop-shadow(0 0 6px rgba(61, 139, 255, .7)); }
.mxc__end { transition: opacity .5s 1.6s; } .mxc__end.s1 { fill: #E05A8E; } .mxc__end.s2 { fill: #FFB68A; } .mxc__end.s3 { fill: #3D8BFF; }
.mxc__endv { font-size: 16px; font-weight: 600; transition: opacity .5s 1.7s; } .mxc__endv.s1 { fill: #E05A8E; } .mxc__endv.s2 { fill: #FFB68A; } .mxc__endv.s3 { fill: #7CACF8; }
.mxlegend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 13px; color: var(--on-surface-var); }
.mxlegend li { display: inline-flex; align-items: center; gap: 8px; }
.mxlegend i { width: 14px; height: 4px; border-radius: 2px; }
.mxlegend i.s1 { background: #A8C7FA; } .mxlegend i.s2 { background: #EB6100; }
.mxchart--dark { background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxchart--dark .mxchart__t { color: #FFFFFF; }
.mxchart--dark .mxc__grid { stroke: rgba(255, 255, 255, .08); }
.mxchart--dark .mxc__axis { stroke: rgba(255, 255, 255, .25); }
.mxchart--dark .mxc__tick { fill: rgba(255, 255, 255, .55); }
.mxchart--dark .mxlegend { color: rgba(255, 255, 255, .75); }
.mxchart--dark .mxlegend i.s1 { background: #E05A8E; } .mxchart--dark .mxlegend i.s2 { background: #FFB68A; } .mxchart--dark .mxlegend i.s3 { background: #3D8BFF; height: 5px; }

/* model family circles */
.mxfamw { max-width: 900px; margin: 0 auto 28px; }
.mxfam { width: 100%; height: auto; overflow: visible; font-family: var(--sans); }
.mxfam__ln { stroke: var(--primary-line); stroke-width: 2; stroke-dasharray: 4 6; }
.mxfam__halo { fill: none; stroke: var(--primary-line); stroke-width: 1; stroke-dasharray: 2 5; }
.mxfam__c { transform-box: fill-box; transform-origin: center; transition: transform 1.2s var(--ease-out); }
.mxfam__c--1 { filter: drop-shadow(0 18px 30px rgba(1, 86, 211, .45)); }
.mxfam__c--2 { transition-delay: .15s; } .mxfam__c--3 { transition-delay: .3s; } .mxfam__c--4 { transition-delay: .45s; }
.js .mxfam[data-draw]:not(.is-on) .mxfam__c { transform: scale(.2); }
.mxfam__big { fill: #FFFFFF; font-size: 34px; font-weight: 600; }
.mxfam__lbl { fill: var(--primary-deep); font-size: 22px; font-weight: 600; }
.mxfam__nm { fill: var(--on-surface-var); font-size: 17px; }
.mxfam__dist { fill: var(--ink-soft); font-size: 14px; }
.mxfamw--dark .mxfam__ln, .mxfamw--dark .mxfam__halo { stroke: rgba(124, 172, 248, .4); }
.mxfamw--dark .mxfam__lbl { fill: #A8C7FA; } .mxfamw--dark .mxfam__nm { fill: rgba(255, 255, 255, .78); } .mxfamw--dark .mxfam__dist { fill: rgba(255, 255, 255, .55); }
.mxtiers { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .mxtiers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxtiers { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxtiers__i { padding: 22px; border-radius: var(--r-xl); background: var(--surface-c); }
.mxtiers__i b { display: block; font-size: 34px; font-weight: 600; line-height: 1.1; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxtiers__i span { display: block; margin: 6px 0 8px; font-weight: 500; color: var(--on-surface); }
.mxtiers__i p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
.mxtiers__i--1 { background: linear-gradient(150deg, var(--primary-c), var(--primary-c-low)); }

/* ---------- overview blocks ---------- */
.mxgap { display: grid; gap: 16px; align-items: stretch; }
@media (min-width: 1000px) { .mxgap { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; } }
.mxgap__stats { display: grid; gap: 12px; }
.mxstat { display: flex; flex-direction: column; justify-content: center; padding: 22px 24px; border-radius: var(--r-xl); background: var(--surface-c); }
.mxstat b { font-size: clamp(30px, 3.2vw, 42px); font-weight: 600; line-height: 1.1; letter-spacing: -0.01em; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxstat span { margin-top: 8px; font-size: 14.5px; line-height: 1.6; color: var(--on-surface-var); }
.mxstat em { margin-top: 4px; font-style: normal; font-size: 12.5px; color: var(--ink-soft); }
.mxroot { margin-top: 20px; padding: 18px 22px; border-radius: var(--r-l); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.mxroot b { display: block; font-size: 15px; font-weight: 500; color: var(--or-deep); }
.mxroot p { margin: 4px 0 0; font-size: 15.5px; line-height: 1.75; color: var(--on-surface); }
.mxroot--bl { background: var(--primary-c-low); box-shadow: inset 0 0 0 1px var(--primary-line); }
.mxroot--bl b { color: var(--primary-deep); }
.mxroot--bl p:first-child { margin: 0; }
.mxsix { list-style: none; display: grid; gap: 14px; }
@media (min-width: 720px) { .mxsix { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxsix { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxsix__i { display: flex; flex-direction: column; padding: 22px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 20px 40px -30px rgba(1, 86, 211, .35); }
.mxsix__k { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 18px; font-weight: 500; color: var(--on-surface); }
.mxsix__k span { font-size: 12px; font-weight: 600; color: var(--primary); padding: 2px 8px; border-radius: var(--r-full); background: var(--primary-c-low); }
.mxsix__e, .mxsix__s { padding: 12px 14px; border-radius: var(--r-m); }
.mxsix__e { background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.mxsix__s { position: relative; margin-top: 18px; background: linear-gradient(140deg, #0156D3, #0842A0 70%, #3D2E8C); color: #FFFFFF; flex: 1; }
.mxsix__s::before { content: ""; position: absolute; left: 24px; top: -14px; border: 7px solid rgba(1, 86, 211, 0); border-bottom-color: #0156D3; }
.mxsix__e small, .mxsix__s small { display: block; font-size: 11.5px; letter-spacing: .06em; color: var(--ink-soft); }
.mxsix__s small { color: rgba(255, 255, 255, .7); }
.mxsix__e p, .mxsix__s p { margin: 4px 0 0; font-size: 14px; line-height: 1.65; }
.mxsix__e p { color: var(--on-surface-var); }
.mx3 { display: grid; gap: 14px; }
@media (min-width: 900px) { .mx3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mx3__p { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 24px; border-radius: var(--r-xl); background: rgba(255, 255, 255, .045); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mx3__p::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--grad-cool); }
.mx3__p--2::before { background: linear-gradient(90deg, #8B6CF2, #E05A8E); } .mx3__p--3::before { background: linear-gradient(90deg, #E05A8E, #EB6100); }
.mx3__p header { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; align-items: center; margin-bottom: 16px; }
.mx3__ic { grid-row: span 2; width: 44px; height: 44px; border-radius: 13px; display: flex; align-items: center; justify-content: center; color: #FFFFFF; background: linear-gradient(135deg, #0156D3, #3D8BFF 50%, #8B6CF2); box-shadow: 0 10px 22px -10px rgba(61, 139, 255, .9); }
.mx3__p--2 .mx3__ic { background: linear-gradient(135deg, #3D2E8C, #8B6CF2 55%, #E05A8E); }
.mx3__p--3 .mx3__ic { background: linear-gradient(135deg, #E05A8E, #EB6100); }
.mx3__ic svg { width: 24px; height: 24px; }
.mx3__p h3 { font-size: 22px; font-weight: 500; }
.mx3__p header small { font-size: 12.5px; color: rgba(255, 255, 255, .6); }
.mx3__u, .mx3__o { margin: 0 0 10px; font-size: 14px; line-height: 1.7; }
.mx3__u { color: rgba(255, 255, 255, .55); }
.mx3__o { color: rgba(255, 255, 255, .9); }
.mx3__u b, .mx3__o b { display: block; font-size: 11.5px; font-weight: 500; letter-spacing: .06em; color: rgba(255, 255, 255, .5); }
.mx3__o b { color: #A8C7FA; }
.mx3__v { margin: auto 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); }
.mx3__v b { display: block; font-size: 28px; font-weight: 600; line-height: 1.2; background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mx3__v span { font-size: 12.5px; color: rgba(255, 255, 255, .6); }
.mx3--light .mx3__p { background: var(--surface); box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 24px 48px -32px rgba(1, 86, 211, .4), inset 0 0 0 1px var(--hairline); }
.mx3--light .mx3__p h3 { color: var(--on-surface); }
.mx3--light .mx3__p header small, .mx3--light .mx3__u, .mx3--light .mx3__u b { color: var(--ink-soft); }
.mx3--light .mx3__o { color: var(--on-surface); }
.mx3--light .mx3__o b { color: var(--primary); }
.mx3__keys { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--hairline); }
.mx3__keys b { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 500; letter-spacing: .06em; color: var(--or-deep); }
.mx3__keys ul { list-style: none; display: grid; gap: 6px; }
.mx3__keys li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.6; color: var(--on-surface-var); }
.mx3__keys li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 5px; border: 2px solid var(--primary); border-top: 0; border-right: 0; transform: rotate(-45deg); }
.mxcmp { margin-top: 20px; overflow-x: auto; border-radius: var(--r-xl); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); -webkit-overflow-scrolling: touch; }
.mxcmp table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14.5px; line-height: 1.6; }
.mxcmp th, .mxcmp td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.mxcmp thead th { font-size: 12.5px; font-weight: 500; letter-spacing: .05em; color: rgba(255, 255, 255, .55); }
.mxcmp tbody th { font-weight: 500; color: #FFFFFF; white-space: nowrap; }
.mxcmp td { color: rgba(255, 255, 255, .6); }
.mxcmp .is-k { color: #FFFFFF; background: rgba(61, 139, 255, .1); }
.mxcmp thead .is-k { color: #A8C7FA; }
.mxcmp tbody tr:last-child > * { border-bottom: 0; }
.mxcmp--light { background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); }
.mxcmp--light th, .mxcmp--light td { border-bottom-color: var(--hairline); }
.mxcmp--light thead th { color: var(--ink-soft); background: var(--surface-low); }
.mxcmp--light tbody th { color: var(--on-surface); }
.mxcmp--light td { color: var(--on-surface-var); }
.mxcmp--light .is-k { color: var(--on-primary-c); background: var(--primary-c-low); font-weight: 500; }
.mxcmp--light thead .is-k { color: var(--primary-deep); }
.mxgo { display: grid; gap: 14px; }
@media (min-width: 760px) { .mxgo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
.mxgo__c { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 24px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 24px 48px -36px rgba(1, 86, 211, .45); transition: transform .4s var(--ease-out), box-shadow .4s; }
.mxgo__c:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(31, 31, 31, .05), 0 32px 60px -36px rgba(1, 86, 211, .6); }
.mxgo__c.has-img { padding-top: 0; }
.mxgo__img { display: block; margin: 0 -24px 20px; aspect-ratio: 2 / 1; overflow: hidden; background: var(--surface-c); }
.mxgo__img picture, .mxgo__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.mxgo__c:hover .mxgo__img img { transform: scale(1.05); }
.mxgo__n { font-size: 12.5px; font-weight: 600; color: var(--primary); letter-spacing: .08em; }
.mxgo__c b { display: block; margin: 4px 0 8px; font-size: 22px; font-weight: 500; color: var(--on-surface); }
.mxgo__c p { margin: 0 0 14px; font-size: 14.5px; line-height: 1.7; color: var(--on-surface-var); }
.mxgo__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.mxgo__chips i { font-style: normal; padding: 2px 10px; border-radius: var(--r-full); font-size: 12.5px; color: var(--on-primary-c); background: var(--primary-c-low); }
.mxgo__c .link { margin-top: auto; }
.mxstages { list-style: none; display: grid; gap: 12px; counter-reset: st; }
@media (min-width: 700px) { .mxstages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxstages { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mxstages li { position: relative; padding: 22px 20px; border-radius: var(--r-xl); background: var(--surface-c); }
.mxstages__n { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; font-size: 17px; color: #FFFFFF; background: var(--grad-num); box-shadow: 0 8px 18px -8px rgba(1, 86, 211, .7); }
.mxstages b { display: block; margin: 12px 0 6px; font-size: 16.5px; font-weight: 500; color: var(--on-surface); }
.mxstages p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
@media (min-width: 1100px) { .mxstages li:not(:last-child)::after { content: ""; position: absolute; right: -10px; top: 38px; width: 8px; height: 8px; border-top: 2px solid var(--primary-line); border-right: 2px solid var(--primary-line); transform: rotate(45deg); } }
.mxvision { padding-top: 32px; }
.mxban { position: relative; overflow: hidden; margin: 0 0 40px; border-radius: var(--r-2xl); aspect-ratio: 2 / 1; background: var(--surface-c); box-shadow: 0 40px 80px -48px rgba(1, 86, 211, .55); }
@media (min-width: 720px) { .mxban { aspect-ratio: 16 / 6; } }
.mxban picture, .mxban img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mxban figcaption { position: absolute; left: 20px; bottom: 18px; padding: 6px 14px; border-radius: var(--r-full); font-size: 13px; color: #FFFFFF; background: rgba(7, 11, 20, .55); }

/* ---------- products ---------- */
.mxmat { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); }
.mxmat__c { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: var(--r-xl); background: var(--surface-c); transition: transform .4s var(--ease-out), background-color .3s, box-shadow .4s; }
.mxmat__c:hover { transform: translateY(-4px); background: #FFFFFF; box-shadow: 0 30px 60px -36px rgba(1, 86, 211, .5), inset 0 0 0 1px var(--primary-line); }
.mxmat__c.is-first { background: linear-gradient(160deg, #0156D3, #0842A0 55%, #3D2E8C); color: #FFFFFF; box-shadow: 0 30px 60px -30px rgba(1, 86, 211, .7); }
.mxmat__c header { display: flex; align-items: center; gap: 10px; }
.mxmat__ic { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: var(--primary); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--primary-line); }
.mxmat__ic svg { width: 21px; height: 21px; }
.mxmat__c.is-first .mxmat__ic { color: #FFFFFF; background: rgba(255, 255, 255, .14); box-shadow: none; }
.mxmat__seg { font-size: 12.5px; font-weight: 500; letter-spacing: .04em; color: var(--ink-soft); }
.mxmat__c.is-first .mxmat__seg { color: rgba(255, 255, 255, .75); }
.mxmat__flag { margin-left: auto; padding: 2px 10px; border-radius: var(--r-full); font-size: 12px; font-weight: 500; color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #E05A8E); }
.mxmat__c h3 { font-size: 20px; font-weight: 500; }
.mxmat__c.is-first h3 { color: #FFFFFF; }
.mxmat__c p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
.mxmat__c.is-first p { color: rgba(255, 255, 255, .88); }
.mxmat__c small { display: block; font-size: 11.5px; letter-spacing: .05em; color: var(--ink-soft); }
.mxmat__c.is-first small { color: rgba(255, 255, 255, .6); }
.mxmat__steps { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.mxmat__steps small { grid-column: 1 / -1; }
.mxmat__steps b { font-size: 18px; font-weight: 600; color: var(--primary); white-space: nowrap; }
.mxmat__c.is-first .mxmat__steps b { color: #FFFFFF; }
.mxmat__bar { width: 100%; height: 6px; }
.mxmat__bg { fill: var(--surface-highest); }
.mxmat__fg { fill: #3D8BFF; }
.mxmat__bar.is-year .mxmat__fg { fill: #8B6CF2; }
.mxmat__c.is-first .mxmat__bg { fill: rgba(255, 255, 255, .18); } .mxmat__c.is-first .mxmat__fg { fill: #FFB68A; }
.mxmat__pain { margin-top: auto !important; padding-top: 12px; border-top: 1px solid var(--hairline); }
.mxmat__c.is-first .mxmat__pain { border-top-color: rgba(255, 255, 255, .16); }
.mxmat__c.is-first .mxa--a3 { background: rgba(255, 182, 138, .22); color: #FFFFFF; box-shadow: none; }
.mxflow { margin-bottom: 24px; }
.mxflow__s { list-style: none; display: grid; gap: 8px; }
@media (min-width: 900px) { .mxflow__s { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; } }
.mxflow__i { position: relative; display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: var(--primary-c-low); color: var(--on-primary-c); font-size: 15px; font-weight: 500; border-radius: var(--r-m); }
.mxflow__i span { font-size: 17px; color: var(--primary); }
.mxflow__i.is-late { background: var(--or-c); color: var(--or-deep); }
.mxflow__i.is-late span { color: var(--or); }
@media (min-width: 900px) {
  .mxflow__i { border-radius: 0; padding-left: 30px; clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 16px 50%); margin-right: -10px; }
  .mxflow__i:first-child { clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%); border-radius: var(--r-m) 0 0 var(--r-m); padding-left: 18px; }
  .mxflow__i:last-child { margin-right: 0; }
}
.mxflow__marks { display: grid; gap: 8px; margin-top: 12px; }
@media (min-width: 900px) { .mxflow__marks { grid-template-columns: repeat(5, minmax(0, 1fr)); } .mxflow__here { grid-column: 2 / span 2; justify-self: center; } .mxflow__old { grid-column: 4 / span 2; justify-self: center; } }
.mxflow__here, .mxflow__old { margin: 0; padding: 6px 16px; border-radius: var(--r-full); font-size: 14px; font-weight: 500; width: max-content; max-width: 100%; }
.mxflow__here { color: #FFFFFF; background: linear-gradient(120deg, #0156D3, #8B6CF2); box-shadow: 0 10px 24px -12px rgba(1, 86, 211, .8); }
.mxflow__here span { margin-right: 6px; }
.mxflow__old { color: var(--or-deep); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.mxspec { overflow-x: auto; border-radius: var(--r-xl); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline), 0 24px 48px -36px rgba(1, 86, 211, .4); -webkit-overflow-scrolling: touch; }
.mxspec table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.65; }
.mxspec th, .mxspec td { padding: 14px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline); }
.mxspec thead th { font-size: 12.5px; font-weight: 500; letter-spacing: .05em; color: #FFFFFF; background: linear-gradient(90deg, #0156D3, #0842A0); }
.mxspec tbody th { width: 9em; font-weight: 500; color: var(--primary-deep); background: var(--surface-low); white-space: nowrap; }
.mxspec td { color: var(--on-surface-var); }
.mxspec tbody tr:last-child > * { border-bottom: 0; }
.mxspec--mods table { min-width: 760px; }
.mxspec--mods tbody th { width: auto; }
.mxheat__hint { display: block; }
@media (min-width: 900px) { .mxheat__hint { display: none; } }
.mxstage { display: inline-block; padding: 1px 10px; border-radius: var(--r-full); font-size: 12.5px; font-weight: 500; color: var(--on-surface-var); background: var(--surface-high); white-space: nowrap; }
.mxstage.is-first { color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #E05A8E); }
.mxtier-wrap { overflow-x: auto; border-radius: var(--r-xl); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); -webkit-overflow-scrolling: touch; }
.mxtier { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.mxtier th, .mxtier td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.mxtier tbody th { width: 7em; font-size: 12.5px; font-weight: 500; letter-spacing: .04em; color: rgba(255, 255, 255, .55); }
.mxtier td { color: rgba(255, 255, 255, .82); }
.mxtier tbody tr:last-child > * { border-bottom: 0; }
.mxtier__h b { display: block; font-size: 26px; font-weight: 600; line-height: 1.15; background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxtier__h span { font-size: 13px; font-weight: 500; color: #FFFFFF; }
.mxtier__h--1 { background: rgba(61, 139, 255, .14); }
.mxgates__t { margin: 36px 0 12px; font-size: 14px; font-weight: 500; text-align: center; color: rgba(255, 255, 255, .7); }
.mxgates { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 900px) { .mxgates { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxgates li { padding: 20px; border-radius: var(--r-xl); text-align: center; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .22); }
.mxgates b { display: block; font-size: clamp(26px, 3vw, 38px); font-weight: 600; line-height: 1.15; color: #FFFFFF; text-shadow: 0 0 24px rgba(61, 139, 255, .6); }
.mxgates span { font-size: 13.5px; color: rgba(255, 255, 255, .65); }
.mxdel { list-style: none; display: grid; gap: 12px; }
@media (min-width: 720px) { .mxdel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxdel { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxdel li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; padding: 20px; border-radius: var(--r-xl); background: var(--surface-c); }
.mxdel__n { grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: #FFFFFF; background: var(--grad-num); }
.mxdel b { font-size: 16px; font-weight: 500; color: var(--on-surface); }
.mxdel p { margin: 2px 0 0; font-size: 14px; line-height: 1.6; color: var(--on-surface-var); }
.mxprow .frow__img { aspect-ratio: 16 / 9; }

/* ---------- product screens (illustrations) ---------- */
.mxui { container-type: inline-size; margin: 0; overflow: hidden; border-radius: var(--r-xl); background: #FFFFFF; box-shadow: 0 40px 80px -44px rgba(1, 86, 211, .55), 0 0 0 1px rgba(1, 86, 211, .12); font-size: 13px; line-height: 1.5; color: var(--on-surface); text-align: left; }
.mxui__bar { display: flex; align-items: center; gap: 12px; padding: 11px 16px; background: var(--surface-c); border-bottom: 1px solid var(--hairline); }
.mxui__bar b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; font-weight: 500; }
.mxui__bar em { margin-left: auto; flex: none; font-style: normal; font-size: 11.5px; padding: 2px 10px; border-radius: var(--r-full); color: var(--primary-deep); background: var(--primary-c-low); }
.mxui__dots { display: inline-flex; gap: 6px; flex: none; }
.mxui__dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--outline-var); }
.mxui__hb { width: 100%; height: 8px; }
.mxui__hbg { fill: var(--surface-high); }
.mxui__hfg { fill: #3D8BFF; }
/* workstation: dark console */
.mxui--ws { background: #070B14; color: #FFFFFF; box-shadow: 0 50px 100px -50px rgba(1, 86, 211, .75), 0 0 0 1px rgba(1, 86, 211, .3); }
.mxui--ws .mxui__bar { background: rgba(255, 255, 255, .04); border-bottom-color: rgba(255, 255, 255, .08); }
.mxui--ws .mxui__bar em { color: #A8C7FA; background: rgba(61, 139, 255, .14); }
.mxui--ws .mxui__dots i:first-child { background: #E05A8E; } .mxui--ws .mxui__dots i:nth-child(2) { background: #FFB68A; } .mxui--ws .mxui__dots i:nth-child(3) { background: #3D8BFF; }
.mxws { display: grid; gap: 12px; padding: 14px; background: radial-gradient(60% 50% at 20% 0%, rgba(1, 86, 211, .25), rgba(1, 86, 211, 0) 70%); }
@container (min-width: 820px) { .mxws { padding: 18px; } }
.mxws__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.mxws__tabs span { padding: 4px 12px; border-radius: var(--r-full); font-size: 12.5px; color: rgba(255, 255, 255, .6); }
.mxws__tabs span.is-on { color: #FFFFFF; background: #0156D3; }
.mxws__tabs small { margin-left: auto; font-size: 12px; color: rgba(255, 255, 255, .45); }
.mxws__kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@container (min-width: 700px) { .mxws__kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxws__kpi div { position: relative; padding: 14px 16px; border-radius: var(--r-m); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.mxws__kpi span { display: block; font-size: 12px; color: rgba(255, 255, 255, .62); }
.mxws__kpi b { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-top: 4px; font-size: clamp(22px, 2.4vw, 32px); font-weight: 600; line-height: 1.15; }
.mxws__kpi b small { font-size: 12px; font-weight: 400; color: rgba(255, 255, 255, .55); }
.mxws__kpi em { position: absolute; right: 12px; top: 12px; font-style: normal; font-size: 11px; padding: 1px 8px; border-radius: var(--r-full); color: #FFFFFF; background: rgba(61, 139, 255, .45); }
.mxws__row { display: grid; gap: 10px; }
@container (min-width: 820px) { .mxws__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, .95fr); } }
.mxws__card { padding: 14px 16px; border-radius: var(--r-m); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.mxws__h { margin: 0 0 10px; font-size: 12.5px; font-weight: 500; color: rgba(255, 255, 255, .85); }
.mxws__dep { display: grid; grid-template-columns: 5.6em minmax(0, 1fr) 2.6em; align-items: center; gap: 8px; margin: 6px 0; font-size: 12px; color: rgba(255, 255, 255, .78); }
html[lang="en"] .mxws__dep { grid-template-columns: 7.6em minmax(0, 1fr) 2.6em; }
.mxws__dep b { text-align: right; font-weight: 500; }
.mxui--ws .mxui__hbg { fill: rgba(255, 255, 255, .08); }
.mxws__dep.sev3 .mxui__hfg { fill: #E05A8E; } .mxws__dep.sev2 .mxui__hfg { fill: #FFB68A; } .mxws__dep.sev1 .mxui__hfg { fill: #3D8BFF; }
.mxws__lg { display: flex; gap: 12px; margin: 10px 0 0; font-size: 11.5px; color: rgba(255, 255, 255, .55); }
.mxws__lg i { display: inline-block; width: 8px; height: 8px; margin-right: 4px; border-radius: 2px; }
.mxws__lg i.sev3 { background: #E05A8E; } .mxws__lg i.sev2 { background: #FFB68A; } .mxws__lg i.sev1 { background: #3D8BFF; }
.mxws__trend { width: 100%; height: auto; overflow: visible; font-family: var(--sans); }
.mxws__area { fill: rgba(61, 139, 255, .14); }
.mxws__ln { fill: none; stroke: #3D8BFF; stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s var(--ease-out); filter: drop-shadow(0 0 5px rgba(61, 139, 255, .6)); }
.js [data-draw]:not(.is-on) .mxws__ln { stroke-dashoffset: 1; }
.mxws__live { stroke: #FFB68A; stroke-width: 1.2; stroke-dasharray: 4 4; }
.mxws__livet { fill: #FFB68A; font-size: 12px; }
.mxws__pt { fill: #FFFFFF; }
.mxws__v { fill: #FFFFFF; font-size: 13px; font-weight: 600; }
.mxws__m { fill: rgba(255, 255, 255, .45); font-size: 11px; }
.mxws__fu { display: grid; grid-template-columns: 5em minmax(0, 1fr) 3.2em; align-items: center; gap: 8px; margin: 8px 0; font-size: 12px; color: rgba(255, 255, 255, .78); }
html[lang="en"] .mxws__fu { grid-template-columns: 5.4em minmax(0, 1fr) 3.2em; }
.mxws__fu b { text-align: right; font-weight: 500; }
.mxws__fu.f2 .mxui__hfg { fill: #8B6CF2; } .mxws__fu.f3 .mxui__hfg { fill: #FFB68A; }
.mxws__note { margin: 10px 0 0; font-size: 11.5px; line-height: 1.55; color: rgba(255, 255, 255, .5); }
.mxws__log ol { list-style: none; display: grid; gap: 4px; }
.mxws__log li { display: grid; grid-template-columns: 3.4em minmax(0, auto) minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 8px; font-size: 12.5px; color: rgba(255, 255, 255, .75); }
.mxws__log li:nth-child(odd) { background: rgba(255, 255, 255, .03); }
.mxws__log time { color: rgba(255, 255, 255, .45); font-variant-numeric: tabular-nums; }
.mxws__log b { font-weight: 500; color: #FFFFFF; white-space: nowrap; }
@container (max-width: 640px) { .mxws__log li { grid-template-columns: 3.4em minmax(0, 1fr) auto; } .mxws__log li span { grid-column: 1 / -1; } }
/* clinic assistant */
.mxcl { display: grid; }
@container (min-width: 620px) { .mxcl { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } }
.mxcl__main { padding: 16px; }
.mxcl__pt { margin: 0 0 12px; }
.mxcl__pt b { display: block; font-size: 14.5px; font-weight: 500; }
.mxcl__pt span { font-size: 12.5px; color: var(--on-surface-var); }
.mxcl__labs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.mxcl__labs div { padding: 8px 10px; border-radius: 10px; background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
.mxcl__labs span { display: block; font-size: 11.5px; color: var(--ink-soft); }
.mxcl__labs b { font-size: 20px; font-weight: 600; color: var(--or-deep); line-height: 1.2; }
.mxcl__labs small { display: block; font-size: 10.5px; color: var(--ink-soft); }
.mxcl__h { margin: 0 0 8px; font-size: 12.5px; font-weight: 500; color: var(--primary-deep); }
.mxcl__rx { list-style: none; display: grid; gap: 4px; margin-bottom: 14px; }
.mxcl__rx li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 8px; background: var(--surface-low); }
.mxcl__rx li b { font-weight: 500; }
.mxcl__rx li span { color: var(--on-surface-var); font-variant-numeric: tabular-nums; }
.mxcl__rx li.is-flag { background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or); }
.mxcl__rx li em { font-style: normal; font-size: 11.5px; padding: 1px 8px; border-radius: var(--r-full); color: #FFFFFF; background: var(--or); }
.mxcl__note { display: grid; gap: 8px; }
.mxcl__note i { height: 8px; border-radius: 4px; background: var(--surface-high); }
.mxcl__note i:nth-child(2) { width: 88%; } .mxcl__note i:nth-child(3) { width: 94%; } .mxcl__note i:nth-child(4) { width: 52%; }
.mxcl__side { padding: 14px; background: var(--surface-c); display: grid; gap: 8px; align-content: start; }
.mxcl__sh { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; padding: 8px 12px; border-radius: 10px; font-size: 13px; font-weight: 500; color: #FFFFFF; background: linear-gradient(120deg, #0156D3, #0842A0); }
.mxcl__dot { width: 10px; height: 10px; border-radius: 50%; background: #FFB68A; box-shadow: 0 0 8px #FFB68A; }
.mxcl__card { padding: 10px 12px; border-radius: 10px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(31, 31, 31, .05); }
.mxcl__card b { margin-left: 6px; font-weight: 500; }
.mxcl__card p { margin: 6px 0 4px; font-size: 12.5px; line-height: 1.55; color: var(--on-surface-var); }
.mxcl__card small { font-size: 11px; color: var(--ink-soft); }
.mxcl__acts { display: flex; gap: 6px; margin-top: 8px; }
.mxcl__acts i, .mxrx__btns i { font-style: normal; padding: 3px 14px; border-radius: var(--r-full); font-size: 12px; color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary-line); background: #FFFFFF; }
.mxcl__acts i.is-pri, .mxrx__btns i.is-pri { color: #FFFFFF; background: var(--primary); box-shadow: none; }
.mxcl__foot { margin: 4px 0 0; font-size: 11px; color: var(--ink-soft); text-align: center; }
/* pharmacy */
.mxrx { display: grid; gap: 12px; padding: 14px; background: var(--surface-low); }
@container (min-width: 600px) { .mxrx { grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); } .mxrx__fc { grid-column: 1 / -1; } }
@container (min-width: 960px) { .mxrx { grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr) minmax(0, .9fr); } .mxrx__fc { grid-column: auto; } }
.mxrx__q, .mxrx__d, .mxrx__fc { padding: 12px; border-radius: var(--r-m); background: #FFFFFF; box-shadow: 0 1px 2px rgba(31, 31, 31, .05); }
.mxrx__q ul { list-style: none; display: grid; gap: 6px; }
.mxrx__q li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--surface-low); }
.mxrx__q li b { font-weight: 500; font-size: 12.5px; }
.mxrx__q li span { grid-row: 2; font-size: 11.5px; color: var(--ink-soft); }
.mxrx__q li .mxa { grid-row: span 2; align-self: center; }
.mxrx__q li.is-cur { background: var(--primary-c-low); box-shadow: inset 0 0 0 1.5px var(--primary); }
.mxrx__alert { margin: 4px 0 10px; padding: 10px 12px; border-radius: 10px; background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.mxrx__alert b { margin-left: 6px; font-weight: 500; color: var(--or-deep); }
.mxrx__alert p { margin: 6px 0 4px; font-size: 12.5px; line-height: 1.55; }
.mxrx__alert small { font-size: 11px; color: var(--ink-soft); }
.mxrx__ins { margin: 0 0 10px; font-size: 12.5px; color: var(--on-surface-var); }
.mxrx__ins b { margin-right: 8px; font-weight: 500; color: var(--on-surface); }
.mxrx__btns { display: flex; gap: 8px; justify-content: flex-end; margin: 0; }
.mxrx__fc .mxws__dep { color: var(--on-surface-var); }
.mxrx__stock { margin: 10px 0 0; font-size: 12px; font-weight: 500; color: var(--or-deep); }
/* real-world evidence pack */
.mxrwe { display: grid; gap: 12px; padding: 14px; background: var(--surface-low); }
@container (min-width: 560px) { .mxrwe { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); } .mxrwe__qc, .mxrwe__out { grid-column: 1 / -1; } .mxrwe__qc ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 960px) { .mxrwe { grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, .9fr); } .mxrwe__qc { grid-column: auto; } .mxrwe__qc ul { grid-template-columns: 1fr; } }
.mxrwe__co, .mxrwe__km, .mxrwe__qc { padding: 12px; border-radius: var(--r-m); background: #FFFFFF; box-shadow: 0 1px 2px rgba(31, 31, 31, .05); }
.mxrwe__co ol { list-style: none; display: grid; gap: 6px; justify-items: center; }
.mxrwe__co li { width: 100%; padding: 7px 10px; border-radius: 10px; text-align: center; color: #FFFFFF; }
.mxrwe__co li b { display: block; font-size: 12.5px; font-weight: 500; }
.mxrwe__co li span { font-size: 11px; opacity: .85; }
.mxrwe__co li.w1 { background: #041E49; } .mxrwe__co li.w2 { width: 92%; background: #0842A0; } .mxrwe__co li.w3 { width: 84%; background: #0156D3; } .mxrwe__co li.w4 { width: 76%; background: #3D8BFF; } .mxrwe__co li.w5 { width: 68%; background: #8B6CF2; }
.mxrwe__km svg { width: 100%; height: auto; font-family: var(--sans); }
.mxrwe__c { fill: none; stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s var(--ease-out); }
.mxrwe__c.s1 { stroke: #0156D3; } .mxrwe__c.s2 { stroke: #9AA0A6; }
.js [data-draw]:not(.is-on) .mxrwe__c { stroke-dashoffset: 1; }
.mxrwe__km .mxlegend i.s1 { background: #0156D3; } .mxrwe__km .mxlegend i.s2 { background: #9AA0A6; }
.mxrwe__km .mxlegend { font-size: 11.5px; }
.mxrwe__hr { margin: 4px 0 0; font-size: 12px; }
.mxrwe__hr b { font-weight: 600; color: var(--primary-deep); margin-right: 8px; }
.mxrwe__hr span { color: var(--ink-soft); }
.mxrwe__qc ul { list-style: none; display: grid; gap: 6px; }
.mxrwe__qc li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; background: var(--surface-low); font-size: 12.5px; }
.mxrwe__qc li i { width: 10px; height: 10px; border-radius: 50%; background: #3D8BFF; box-shadow: 0 0 0 3px var(--primary-c); }
.mxrwe__qc li b { font-weight: 600; color: var(--primary-deep); }
.mxrwe__out { padding: 14px; border-radius: var(--r-m); color: #FFFFFF; background: linear-gradient(120deg, #041E49, #0842A0 60%, #3D2E8C); }
.mxrwe__out p { margin: 0 0 10px; font-size: 13px; font-weight: 500; }
.mxrwe__out ul { list-style: none; display: grid; gap: 8px; }
@container (min-width: 560px) { .mxrwe__out ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxrwe__out li { padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .08); }
.mxrwe__out li b { display: block; font-size: 15px; font-weight: 600; color: #FFB68A; }
.mxrwe__out li span { font-size: 12px; color: rgba(255, 255, 255, .78); }
/* family app */
.mxphone { margin: 0 auto; width: min(340px, 100%); padding: 10px; border-radius: 44px; background: #070B14; box-shadow: 0 40px 80px -40px rgba(1, 86, 211, .7), inset 0 0 0 2px rgba(255, 255, 255, .1); }
.mxphone__in { position: relative; overflow: hidden; border-radius: 36px; background: var(--surface-c); font-size: 12.5px; line-height: 1.5; text-align: left; }
.mxphone__notch { position: absolute; left: 50%; top: 10px; width: 92px; height: 24px; margin-left: -46px; border-radius: 14px; background: #070B14; z-index: 2; }
.mxphone__hd { padding: 46px 18px 16px; color: #FFFFFF; background: linear-gradient(140deg, #0156D3, #0842A0 70%, #3D2E8C); }
.mxphone__hd b { font-size: 18px; font-weight: 600; }
.mxphone__hd em { float: right; margin-top: 4px; font-style: normal; font-size: 10.5px; padding: 1px 8px; border-radius: var(--r-full); background: rgba(255, 255, 255, .16); }
.mxphone__hd span, .mxphone__hd small { display: block; margin-top: 4px; font-size: 12px; color: rgba(255, 255, 255, .85); }
.mxphone__hd small { font-size: 11px; color: rgba(255, 255, 255, .7); }
.mxphone__card { margin: 10px 10px 0; padding: 12px 14px; border-radius: 18px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(31, 31, 31, .05); }
.mxphone__k { display: flex; align-items: center; justify-content: space-between; margin: 0 0 4px; font-size: 12px; font-weight: 500; color: var(--on-surface-var); }
.mxphone__k em { font-style: normal; font-size: 11px; padding: 1px 10px; border-radius: var(--r-full); color: var(--primary-deep); background: var(--primary-c); }
.mxphone__bp { margin: 0; }
.mxphone__bp b { font-size: 32px; font-weight: 600; letter-spacing: -0.01em; color: var(--on-surface); }
.mxphone__bp span { margin-left: 6px; font-size: 12px; color: var(--ink-soft); }
.mxphone__card svg { width: 100%; height: 44px; margin: 4px 0 2px; overflow: visible; }
.mxphone__sp { fill: none; stroke: #0156D3; stroke-width: 2.5; }
.mxphone__dot { fill: #0156D3; }
.mxphone__card small { font-size: 10.5px; color: var(--ink-soft); }
.mxphone__med p:last-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
.mxphone__med b { font-size: 13.5px; font-weight: 500; }
.mxphone__med em { flex: none; font-style: normal; font-size: 11px; padding: 2px 10px; border-radius: var(--r-full); background: var(--surface-high); color: var(--on-surface-var); }
.mxphone__ai { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; align-items: center; margin: 4px 0 8px; }
.mxphone__ct { position: relative; border-radius: 12px; background: #070B14; padding: 6px 4px 2px; text-align: center; }
.mxphone__ct svg { height: 54px; margin: 0; }
.mxphone__ct circle { fill: none; stroke: rgba(168, 199, 250, .5); stroke-width: 1.5; }
.mxphone__ct .mxphone__nod { fill: #FFB68A; stroke: none; }
.mxphone__ct span { display: block; font-size: 10px; color: rgba(255, 255, 255, .8); }
.mxphone__ai ul { list-style: none; display: grid; gap: 2px; font-size: 12px; color: var(--on-surface-var); }
.mxphone__ai li.is-b { font-weight: 500; color: var(--on-surface); }
.mxphone__a1 { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-size: 11.5px; color: var(--on-surface-var); }
.mxphone__ask { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 10px; padding: 10px 10px 10px 16px; border-radius: var(--r-full); background: #FFFFFF; box-shadow: inset 0 0 0 1px var(--primary-line); color: var(--ink-soft); font-size: 12px; }
.mxphone__ask i { width: 28px; height: 28px; border-radius: 50%; flex: none; background: var(--primary); }
.mxphone__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 10px 6px 18px; background: #FFFFFF; text-align: center; font-size: 11.5px; color: var(--ink-soft); }
.mxphone__tabs span.is-on { color: var(--primary); font-weight: 600; }

/* ---------- technology ---------- */
.mxarch { position: relative; overflow: hidden; padding: 22px; border-radius: var(--r-2xl); background: #070B14; color: #FFFFFF; box-shadow: 0 50px 100px -50px rgba(1, 86, 211, .7), 0 0 0 1px rgba(1, 86, 211, .3); }
@media (min-width: 900px) { .mxarch { padding: 32px 36px; } }
.mxarch::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(50% 70% at 0% 50%, rgba(1, 86, 211, .35), rgba(1, 86, 211, 0) 70%), radial-gradient(40% 60% at 100% 0%, rgba(139, 108, 242, .28), rgba(139, 108, 242, 0) 70%); }
.mxarch__t { position: relative; display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 13px; font-weight: 500; letter-spacing: .06em; color: rgba(255, 255, 255, .7); }
.mxarch__dot { width: 8px; height: 8px; border-radius: 50%; background: #3D8BFF; box-shadow: 0 0 12px #3D8BFF; }
.mxarch__l { position: relative; list-style: none; display: grid; gap: 8px; }
.mxarch__i { display: grid; gap: 4px 20px; align-items: center; padding: 14px 18px; border-radius: var(--r-m); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); transition: background-color .3s, transform .4s var(--ease-out); }
@media (min-width: 760px) { .mxarch__i { grid-template-columns: 11em minmax(0, 1fr); } }
.mxarch__i:hover { background: rgba(61, 139, 255, .12); transform: translateX(4px); }
.mxarch__i b { font-size: 15.5px; font-weight: 500; }
.mxarch__i span { font-size: 14px; color: rgba(255, 255, 255, .72); }
.mxarch__i--1 { background: linear-gradient(90deg, rgba(235, 97, 0, .28), rgba(235, 97, 0, .06)); box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .3); }
.mxarch__i--2 { background: linear-gradient(90deg, rgba(224, 90, 142, .26), rgba(224, 90, 142, .05)); box-shadow: inset 0 0 0 1px rgba(224, 90, 142, .3); }
.mxarch__i--3 { background: linear-gradient(90deg, rgba(139, 108, 242, .3), rgba(139, 108, 242, .06)); box-shadow: inset 0 0 0 1px rgba(139, 108, 242, .35); }
.mxarch__i--4 { background: linear-gradient(90deg, rgba(61, 139, 255, .28), rgba(61, 139, 255, .06)); box-shadow: inset 0 0 0 1px rgba(61, 139, 255, .35); }
.mxarch__i--5 { background: linear-gradient(90deg, rgba(1, 86, 211, .5), rgba(1, 86, 211, .12)); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .35); }
.mxarch__i--6 { background: linear-gradient(90deg, rgba(4, 30, 73, .9), rgba(4, 30, 73, .4)); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .25); }
.mxjump { margin-top: 28px; }
.mxpaths { display: grid; gap: 14px; }
@media (min-width: 900px) { .mxpaths { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxpath { padding: 22px; border-radius: var(--r-xl); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline); }
.mxpath header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.mxpath header b { font-size: 17px; font-weight: 500; color: var(--on-surface); }
.mxpath__v { flex: none; padding: 2px 12px; border-radius: var(--r-full); font-size: 12.5px; font-weight: 500; }
.mxpath--no .mxpath__v { color: var(--on-surface-var); background: var(--surface-high); }
.mxpath--mid .mxpath__v { color: var(--or-deep); background: var(--or-c); }
.mxpath--yes { background: linear-gradient(160deg, #0156D3, #0842A0 60%, #3D2E8C); box-shadow: 0 30px 60px -30px rgba(1, 86, 211, .7); color: #FFFFFF; }
.mxpath--yes header b { color: #FFFFFF; }
.mxpath--yes .mxpath__v { color: #0842A0; background: #FFFFFF; }
.mxpath dl { margin: 0; }
.mxpath dt { font-size: 11.5px; letter-spacing: .05em; color: var(--ink-soft); }
.mxpath dd { margin: 2px 0 10px; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
.mxpath--yes dt { color: rgba(255, 255, 255, .6); } .mxpath--yes dd { color: rgba(255, 255, 255, .9); }
.mxlong { display: grid; gap: 16px; align-items: start; }
@media (min-width: 1000px) { .mxlong { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; } }
.mxlong__side .mxdnote { margin-top: 0; }
.mxlong__jt { margin: 24px 0 10px; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, .8); }
.mxjourney { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.mxjourney li { position: relative; padding: 6px 12px; border-radius: var(--r-full); font-size: 13px; color: #FFFFFF; background: rgba(61, 139, 255, .16); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .3); }
.mxjourney li:not(:last-child)::after { content: "→"; margin-left: 10px; color: rgba(255, 255, 255, .45); }
.mxlparts { position: relative; display: grid; gap: 10px; margin: 28px 0; }
@media (min-width: 720px) { .mxlparts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxlparts__i { padding: 16px 18px; border-radius: var(--r-l); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxlparts__i b { display: block; font-size: 15.5px; font-weight: 500; color: #FFFFFF; }
.mxlparts__i span { font-size: 13.5px; color: rgba(255, 255, 255, .68); }
.mxlparts__i--1 { background: linear-gradient(140deg, rgba(1, 86, 211, .6), rgba(61, 46, 140, .5)); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .4); }
.mxlparts__i--2 { background: linear-gradient(140deg, rgba(61, 139, 255, .35), rgba(1, 86, 211, .2)); }
.mxlparts__i--5 { background: linear-gradient(140deg, rgba(235, 97, 0, .3), rgba(224, 90, 142, .18)); box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .35); }
.mxlparts__c { display: none; }
@media (min-width: 720px) { .mxlparts__c { display: block; position: absolute; left: 50%; top: 50%; margin: 0; transform: translate(-50%, -50%); padding: 2px 12px; border-radius: var(--r-full); font-size: 11.5px; color: #FFB68A; background: #070B14; box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .4); white-space: nowrap; } }
.mxevrow { display: grid; gap: 12px; }
@media (min-width: 640px) { .mxevrow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxevrow { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxev { display: flex; flex-direction: column; padding: 18px 18px 16px; border-radius: var(--r-l); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline), 0 18px 36px -30px rgba(1, 86, 211, .35); }
.mxev__v { margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; line-height: 1.15; letter-spacing: -0.01em; background: var(--grad-num); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxev__u { margin: 4px 0 10px; font-size: 12.5px; color: var(--ink-soft); }
.mxev h4 { font-size: 15px; font-weight: 500; line-height: 1.45; color: var(--on-surface); }
.mxev__d { margin: 6px 0 10px; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.mxev__s { margin: auto 0 0; font-size: 11.5px; font-weight: 500; letter-spacing: .03em; color: var(--primary); }
.mxdark .mxev { background: rgba(255, 255, 255, .045); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxdark .mxev__v { background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; }
.mxdark .mxev__u { color: rgba(255, 255, 255, .55); }
.mxdark .mxev h4 { color: #FFFFFF; }
.mxdark .mxev__d { color: rgba(255, 255, 255, .7); }
.mxdark .mxev__s { color: #A8C7FA; }
.mxfxnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 24px; }
@media (min-width: 900px) { .mxfxnav { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.mxfxnav a { display: grid; padding: 12px 14px; border-radius: var(--r-l); background: var(--surface-c); transition: background-color .2s, transform .3s var(--ease-out); }
.mxfxnav a:hover { background: var(--primary-c-low); transform: translateY(-2px); }
.mxfxnav span { font-size: 12px; font-weight: 600; color: var(--or-deep); }
.mxfxnav b { font-size: 17px; font-weight: 600; letter-spacing: .02em; color: var(--primary-deep); }
.mxfxnav small { font-size: 12.5px; line-height: 1.45; color: var(--on-surface-var); }
.mxft { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 16px); }
.mxft__h { max-width: 900px; margin-bottom: 32px; }
.mxft__no { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 14px; font-weight: 500; color: var(--primary); }
.mxft__no span { padding: 3px 12px; border-radius: var(--r-full); font-size: 12.5px; color: #FFFFFF; background: var(--grad-num); }
.mxft__h h3 { font-size: clamp(24px, 2.8vw, 34px); line-height: 1.25; letter-spacing: -0.015em; font-weight: 500; }
.mxft__l { margin: 14px 0 0; font-size: 16px; line-height: 1.75; color: var(--on-surface-var); }
.mxft__g { display: grid; gap: 20px; align-items: start; }
@media (min-width: 1080px) { .mxft__g { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 28px; } }
.mxft__k { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--primary); }
.mxft__k b { font-size: 15px; font-weight: 600; color: var(--primary-deep); }
.mxft__k span { font-size: 11px; font-weight: 600; letter-spacing: .12em; color: var(--primary); }
.mxft__k--or { border-bottom-color: var(--or); }
.mxft__k--or b { color: var(--or-deep); } .mxft__k--or span { color: var(--or); }
.mxft__cards { display: grid; gap: 10px; }
@media (min-width: 640px) { .mxft__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mxft__apply { margin: 14px 0 0; padding: 12px 16px; border-radius: var(--r-m); font-size: 14px; line-height: 1.65; color: var(--on-surface); background: var(--or-c); box-shadow: inset 0 0 0 1px var(--or-line); }
.mxft__apply b { margin-right: 10px; font-weight: 600; color: var(--or-deep); }
.mxdz { position: relative; overflow: hidden; padding: 22px; border-radius: var(--r-xl); background: #070B14; color: #FFFFFF; box-shadow: 0 30px 60px -36px rgba(1, 86, 211, .7); }
.mxdz::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 80% at 100% 0%, rgba(139, 108, 242, .3), rgba(139, 108, 242, 0) 70%), radial-gradient(50% 70% at 0% 100%, rgba(1, 86, 211, .35), rgba(1, 86, 211, 0) 70%); }
.mxdz > * { position: relative; }
.mxdz__h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.mxdz__h h4 { font-size: 19px; font-weight: 600; color: #FFFFFF; }
.mxdz__st { padding: 3px 12px; border-radius: var(--r-full); font-size: 12px; font-weight: 500; color: #070B14; background: linear-gradient(120deg, #FFB68A, #EB6100); }
.mxdz__d { margin: 10px 0 16px; font-size: 14.5px; line-height: 1.75; color: rgba(255, 255, 255, .78); }
.mxpipe { list-style: none; display: grid; gap: 8px; }
@media (min-width: 760px) { .mxpipe--n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .mxpipe--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mxpipe li { position: relative; padding: 12px; border-radius: var(--r-m); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .22); }
.mxpipe__n { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 50%; font-size: 11.5px; font-weight: 600; color: #FFFFFF; background: #0156D3; }
.mxpipe li:last-child .mxpipe__n { background: #EB6100; }
.mxpipe b { display: block; margin: 8px 0 4px; font-size: 13.5px; font-weight: 500; line-height: 1.4; color: #FFFFFF; }
.mxpipe li > span:last-child { display: block; font-size: 12.5px; line-height: 1.55; color: rgba(255, 255, 255, .66); }
@media (min-width: 760px) { .mxpipe li:not(:last-child)::after { content: ""; position: absolute; right: -6px; top: 22px; width: 6px; height: 6px; border-top: 1.5px solid #7CACF8; border-right: 1.5px solid #7CACF8; transform: rotate(45deg); z-index: 1; } }
.mxdz__loop { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 8px 12px; border-radius: var(--r-full); font-size: 12.5px; color: #A8C7FA; background: rgba(61, 139, 255, .1); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .25); }
.mxdz__loop span { font-size: 15px; color: #FFB68A; }
.mxdz__x { margin: 12px 0 0; font-size: 12.5px; line-height: 1.65; color: rgba(255, 255, 255, .6); }
.mxcf { margin-top: 14px; padding: 14px; border-radius: var(--r-m); background: rgba(255, 255, 255, .05); }
.mxcf__t { margin: 0 0 10px; font-size: 13px; font-weight: 500; color: rgba(255, 255, 255, .85); }
.mxcf__r { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 3em; align-items: center; gap: 10px; margin: 8px 0; font-size: 12.5px; color: rgba(255, 255, 255, .78); }
.mxcf__r svg { width: 100%; height: 10px; }
.mxcf__bg { fill: rgba(255, 255, 255, .08); }
.mxcf__fg { fill: #3D8BFF; transform-box: fill-box; transform-origin: 0 50%; transition: transform 1.2s var(--ease-out); }
.mxcf__r:nth-child(3) .mxcf__fg { fill: #8B6CF2; }
.mxcf__r.is-base .mxcf__fg { fill: #E05A8E; }
.js [data-draw]:not(.is-on) .mxcf__fg { transform: scaleX(0); }
.mxcf__r b { text-align: right; font-weight: 600; color: #FFFFFF; }
.mxcf__n { margin: 8px 0 0; font-size: 11.5px; color: rgba(255, 255, 255, .55); }
.mxhub { display: grid; gap: 10px; margin-top: 4px; align-items: center; }
@media (min-width: 640px) { .mxhub { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1fr); } }
.mxhub__nodes { list-style: none; display: grid; gap: 8px; }
.mxhub__nodes li { position: relative; padding: 8px 12px; border-radius: 10px; font-size: 12.5px; text-align: center; color: #FFFFFF; background: rgba(61, 139, 255, .14); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .3); }
@media (min-width: 640px) { .mxhub__nodes--l li::after, .mxhub__nodes--r li::after { content: ""; position: absolute; top: 50%; width: 10px; border-top: 1.5px dashed #7CACF8; } .mxhub__nodes--l li::after { right: -11px; } .mxhub__nodes--r li::after { left: -11px; } }
.mxhub__c { display: grid; gap: 4px; justify-items: center; padding: 18px 12px; border-radius: 18px; text-align: center; background: radial-gradient(80% 80% at 50% 30%, #3D8BFF, #0156D3 55%, #3D2E8C); box-shadow: 0 0 40px -6px rgba(61, 139, 255, .8); }
.mxhub__c b { font-size: 14.5px; font-weight: 600; color: #FFFFFF; }
.mxhub__c span { font-size: 12px; color: rgba(255, 255, 255, .85); }
.mxhub__cap { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin: 4px 0 0; font-size: 12px; color: rgba(255, 255, 255, .6); }
.mxhub__cap span:last-child { color: #FFB68A; }
.mxbn { margin-top: 12px; border-radius: var(--r-l); overflow: hidden; box-shadow: inset 0 0 0 1px var(--hairline); background: var(--surface); }
.mxbn__h, .mxbn__r { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .85fr); }
.mxbn__h span { padding: 9px 14px; font-size: 11.5px; font-weight: 500; letter-spacing: .05em; color: var(--ink-soft); background: var(--surface-low); }
.mxbn__r { border-top: 1px solid var(--hairline); }
.mxbn__r p { margin: 0; padding: 12px 14px; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.mxbn__s { position: relative; color: var(--on-surface) !important; background: var(--primary-c-low); }
.mxbn__s::before { content: "→"; position: absolute; left: -7px; top: 12px; font-size: 13px; color: var(--primary); }
.mxbn__m b { display: block; font-size: 20px; font-weight: 600; line-height: 1.2; color: var(--or-deep); }
.mxbn__m span { font-size: 12.5px; }
@media (max-width: 639px) { .mxbn__h { display: none; } .mxbn__r { grid-template-columns: 1fr; } .mxbn__s::before { display: none; } }

/* ---------- solutions ---------- */
.mxjr { overflow: hidden; border-radius: var(--r-2xl); background: #070B14; color: #FFFFFF; box-shadow: 0 50px 100px -50px rgba(1, 86, 211, .7), 0 0 0 1px rgba(1, 86, 211, .3); background-image: radial-gradient(50% 70% at 10% 0%, rgba(1, 86, 211, .35), rgba(1, 86, 211, 0) 70%), radial-gradient(40% 60% at 100% 100%, rgba(139, 108, 242, .26), rgba(139, 108, 242, 0) 70%); }
.mxjr__st { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 20px 20px 12px; }
@media (min-width: 760px) { .mxjr__st { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxjr__st { grid-template-columns: repeat(7, minmax(0, 1fr)); padding: 28px 28px 16px; } }
.mxjr__st li { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 12px; border-radius: var(--r-m); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09); }
.mxjr__st li.is-done { background: rgba(61, 139, 255, .12); box-shadow: inset 0 0 0 1px rgba(124, 172, 248, .28); }
.mxjr__st li.is-cur { background: rgba(235, 97, 0, .16); box-shadow: inset 0 0 0 1.5px #FFB68A, 0 0 28px -8px rgba(235, 97, 0, .8); }
.mxjr__st li.is-todo { opacity: .6; }
.mxjr__no { font-size: 11px; font-weight: 600; color: #7CACF8; }
.mxjr__st li.is-cur .mxjr__no { color: #FFB68A; }
.mxjr__st b { font-size: 15px; font-weight: 500; }
.mxjr__st small { font-size: 11px; color: rgba(255, 255, 255, .5); }
.mxjr__ag { font-size: 12px; line-height: 1.45; color: rgba(255, 255, 255, .72); flex: 1; }
.mxjr__ticks { display: block; width: calc(100% - 40px); height: 18px; margin: 4px 20px 0; }
@media (min-width: 1100px) { .mxjr__ticks { width: calc(100% - 56px); margin: 4px 28px 0; } }
.mxjr__tk { fill: rgba(255, 255, 255, .1); }
.mxjr__tk.is-done { fill: #3D8BFF; }
.mxjr__tk.is-cur { fill: #FFB68A; }
.mxjr__now { display: flex; align-items: center; gap: 10px; margin: 12px 20px 16px; font-size: 13.5px; color: #FFFFFF; }
@media (min-width: 1100px) { .mxjr__now { margin: 12px 28px 18px; } }
.mxjr__pulse { width: 10px; height: 10px; border-radius: 50%; flex: none; background: #EB6100; box-shadow: 0 0 0 4px rgba(235, 97, 0, .25); }
.mxjr .mxcon__foot { border-top-color: rgba(255, 255, 255, .08); }
.mxheat-wrap { overflow-x: auto; border-radius: var(--r-xl); background: var(--surface); box-shadow: inset 0 0 0 1px var(--hairline), 0 24px 48px -36px rgba(1, 86, 211, .4); -webkit-overflow-scrolling: touch; }
.mxheat { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 4px; padding: 6px; font-size: 14px; }
.mxheat th, .mxheat td { padding: 10px 12px; text-align: center; border-radius: 10px; }
.mxheat thead th { font-size: 12.5px; font-weight: 500; color: var(--ink-soft); }
.mxheat tbody th { text-align: left; font-weight: 500; color: var(--on-surface); background: var(--surface-low); }
.mxheat tr.is-pick th { color: #FFFFFF; background: linear-gradient(120deg, #0156D3, #3D2E8C); }
.mxh span { font-size: 16px; font-weight: 600; }
.mxh--1 { background: var(--surface-c); color: var(--ink-soft); }
.mxh--2 { background: var(--primary-c-low); color: var(--primary-deep); }
.mxh--3 { background: var(--primary-c); color: var(--on-primary-c); }
.mxh--4 { background: #7CACF8; color: #041E49; }
.mxh--5 { background: #0156D3; color: #FFFFFF; }
.mxheat td.is-sum { min-width: 7em; text-align: left; background: var(--or-c); }
.mxheat thead th.is-sum { color: var(--or-deep); }
.mxheat td.is-sum b { font-size: 18px; font-weight: 600; color: var(--or-deep); }
.mxheat td.is-sum svg { width: 100%; height: 4px; margin-top: 4px; }
.mxheat__bg { fill: var(--or-line); } .mxheat__fg { fill: var(--or); }
.mxheat__note { margin: 12px 0 0; font-size: 13px; line-height: 1.7; color: var(--ink-soft); }
.mxwhy { display: grid; gap: 12px; }
@media (min-width: 640px) { .mxwhy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxwhy { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxroad { list-style: none; display: grid; gap: 12px; }
@media (min-width: 900px) { .mxroad { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.mxroad__i { position: relative; padding: 24px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 24px 48px -36px rgba(1, 86, 211, .45); }
.mxroad__k { display: inline-block; padding: 2px 12px; border-radius: var(--r-full); font-size: 12.5px; font-weight: 500; color: var(--on-surface-var); background: var(--surface-high); }
.mxroad__i--1 .mxroad__k { color: #FFFFFF; background: linear-gradient(120deg, #EB6100, #E05A8E); }
.mxroad__i--2 .mxroad__k { color: var(--on-primary-c); background: var(--primary-c); }
.mxroad__i b { display: block; margin: 12px 0 8px; font-size: 18px; font-weight: 500; color: var(--on-surface); }
.mxroad__i p { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--on-surface-var); }
@media (min-width: 900px) { .mxroad__i:not(:last-child)::after { content: ""; position: absolute; right: -12px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-top: 2px solid var(--primary-line); border-right: 2px solid var(--primary-line); transform: rotate(45deg); } }
.mxsegnav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 16px; }
.mxsegnav a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 10px; border-radius: var(--r-full); font-size: 14.5px; font-weight: 500; color: var(--on-surface); background: var(--surface-c); transition: background-color .2s; }
.mxsegnav a:hover { background: var(--primary-c-low); }
.mxsegnav a span { display: flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; color: #FFFFFF; background: var(--grad-num); }
.mxsegnav svg { width: 16px; height: 16px; }
.mxseg { display: grid; gap: 28px; align-items: center; padding: 56px 0; border-top: 1px solid var(--hairline); scroll-margin-top: calc(var(--hdr-h) + 16px); }
@media (min-width: 1080px) { .mxseg { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; } .mxseg--rev { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .mxseg--rev .mxseg__txt { order: 2; } .mxseg--photo { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); } }
.mxseg__k { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--primary); }
.mxseg__k span { display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 11px; color: #FFFFFF; background: var(--grad-num); box-shadow: 0 8px 18px -8px rgba(1, 86, 211, .7); }
.mxseg__k svg { width: 19px; height: 19px; }
.mxseg h3 { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; font-weight: 500; margin-bottom: 18px; }
.mxseg__pain, .mxseg__does { margin-bottom: 16px; }
.mxseg__pain > b, .mxseg__does > b { display: block; margin-bottom: 8px; font-size: 12.5px; font-weight: 500; letter-spacing: .05em; color: var(--ink-soft); }
.mxseg__pain ul { list-style: none; display: grid; gap: 6px; }
.mxseg__pain li { position: relative; padding-left: 18px; font-size: 14.5px; line-height: 1.65; color: var(--on-surface-var); }
.mxseg__pain li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--or); transform: rotate(45deg); }
.mxseg__does ol { list-style: none; display: grid; gap: 8px; counter-reset: sd; }
.mxseg__does li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; padding: 12px 14px 12px 44px; border-radius: var(--r-m); background: var(--surface-c); counter-increment: sd; }
.mxseg__does li::before { content: counter(sd); position: absolute; left: 12px; top: 12px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: #FFFFFF; background: var(--primary); }
.mxseg__n { font-size: 15px; font-weight: 500; color: var(--on-surface); }
.mxseg__d { grid-column: 1; font-size: 13.5px; line-height: 1.6; color: var(--on-surface-var); }
.mxseg__does em { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-style: normal; font-size: 12px; font-weight: 500; padding: 2px 10px; border-radius: var(--r-full); color: var(--primary-deep); background: #FFFFFF; white-space: nowrap; }
.mxseg__dl { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 8px 12px; margin: 0; padding: 14px 16px; border-radius: var(--r-m); background: var(--surface-low); box-shadow: inset 0 0 0 1px var(--hairline); }
html[lang="en"] .mxseg__dl { grid-template-columns: 9.5em minmax(0, 1fr); }
.mxseg__dl dt { font-size: 12.5px; font-weight: 500; color: var(--ink-soft); }
.mxseg__dl dd { margin: 0; font-size: 14px; line-height: 1.6; color: var(--on-surface); }
.mxseg__tech { display: flex; flex-wrap: wrap; gap: 6px; }
.mxseg__tech .chip { padding: 2px 12px; font-size: 13px; }
@media (max-width: 539px) { .mxseg__dl { grid-template-columns: 1fr; } .mxseg__dl dd { margin-bottom: 6px; } }
.mxseg__ph { overflow: hidden; border-radius: var(--r-2xl); aspect-ratio: 4 / 3; background: var(--surface-c); box-shadow: 0 40px 80px -48px rgba(1, 86, 211, .55); }
@media (min-width: 1080px) { .mxseg__ph { aspect-ratio: 5 / 4; } }
.mxseg__ph picture, .mxseg__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mxseg__ui .mxphone { margin: 0 auto; }

/* ---------- validation & compliance ---------- */
.mxdef { position: relative; overflow: hidden; padding: 22px; border-radius: var(--r-2xl); background: #070B14; color: #FFFFFF; box-shadow: 0 50px 100px -50px rgba(1, 86, 211, .7), 0 0 0 1px rgba(1, 86, 211, .3); background-image: radial-gradient(50% 70% at 50% 0%, rgba(1, 86, 211, .38), rgba(1, 86, 211, 0) 70%), radial-gradient(40% 60% at 100% 100%, rgba(224, 90, 142, .2), rgba(224, 90, 142, 0) 70%); }
@media (min-width: 900px) { .mxdef { padding: 32px; } }
.mxdef__l { list-style: none; display: grid; gap: 12px; }
@media (min-width: 900px) { .mxdef__l { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxdef__i { padding: 22px; border-radius: var(--r-xl); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxdef__ic { display: flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 14px; color: #FFFFFF; background: linear-gradient(135deg, #0156D3, #3D8BFF 50%, #8B6CF2); box-shadow: 0 10px 24px -10px rgba(61, 139, 255, .9); margin-bottom: 14px; }
.mxdef__i--2 .mxdef__ic { background: linear-gradient(135deg, #3D2E8C, #8B6CF2 55%, #E05A8E); }
.mxdef__i--3 .mxdef__ic { background: linear-gradient(135deg, #E05A8E, #EB6100); }
.mxdef__ic svg { width: 24px; height: 24px; }
.mxdef__i b { display: block; font-size: 16px; font-weight: 500; color: rgba(255, 255, 255, .85); }
.mxdef__i strong { display: block; margin: 6px 0 8px; font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; line-height: 1.15; background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxdef__i p { margin: 0; font-size: 14px; line-height: 1.65; color: rgba(255, 255, 255, .7); }
.mxstages--line { margin-bottom: 28px; }
.mxsev { list-style: none; display: grid; gap: 10px; }
@media (min-width: 640px) { .mxsev { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .mxsev { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxsev__i { padding: 22px; border-radius: var(--r-xl); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxsev__i b { display: block; font-size: 34px; font-weight: 600; line-height: 1.1; }
.mxsev__i span { display: block; margin: 4px 0 8px; font-size: 16px; font-weight: 500; color: #FFFFFF; }
.mxsev__i p { margin: 0; font-size: 13.5px; line-height: 1.6; color: rgba(255, 255, 255, .7); }
.mxsev__i--0 b { color: #A8C7FA; }
.mxsev__i--1 b { color: #7CACF8; }
.mxsev__i--2 b { color: #FFB68A; } .mxsev__i--2 { box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .35); }
.mxsev__i--3 { background: linear-gradient(150deg, rgba(224, 90, 142, .35), rgba(235, 97, 0, .25)); box-shadow: inset 0 0 0 1.5px #E05A8E, 0 0 40px -12px rgba(224, 90, 142, .7); }
.mxsev__i--3 b { color: #FFFFFF; }
.mxascale { list-style: none; display: grid; gap: 8px; }
@media (min-width: 900px) { .mxascale { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; } }
.mxascale__i { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: var(--r-xl); }
.mxascale__i b { font-size: 30px; font-weight: 600; line-height: 1; }
.mxascale__m { font-size: 14px; font-weight: 500; }
.mxascale__d { font-size: 13.5px; line-height: 1.6; opacity: .85; }
.mxascale__i--a0 { background: var(--surface-c); color: var(--on-surface); }
.mxascale__i--a1 { background: var(--primary-c-low); color: var(--on-primary-c); }
.mxascale__i--a2 { background: var(--primary-c); color: var(--on-primary-c); }
.mxascale__i--a3 { background: linear-gradient(160deg, #EB6100, #D45700); color: #FFFFFF; }
.mxascale__i--a4 { background: linear-gradient(160deg, #3D2E8C, #070B14); color: #FFFFFF; }
@media (min-width: 900px) { .mxascale__i--a0 { min-height: 150px; } .mxascale__i--a1 { min-height: 170px; } .mxascale__i--a2 { min-height: 190px; } .mxascale__i--a3 { min-height: 210px; } .mxascale__i--a4 { min-height: 230px; } }
.mxegress { display: grid; gap: 12px; align-items: stretch; margin-bottom: 20px; }
@media (min-width: 900px) { .mxegress { grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1.6fr); gap: 0; } }
.mxegress__in, .mxegress__out { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; padding: 22px; border-radius: var(--r-xl); }
.mxegress__in { background: #070B14; color: #FFFFFF; }
.mxegress__out { background: var(--surface); box-shadow: inset 0 0 0 1px var(--primary-line); }
.mxegress b { flex-basis: 100%; margin-bottom: 4px; font-size: 13px; font-weight: 500; letter-spacing: .06em; }
.mxegress__in b { color: #FFB68A; } .mxegress__out b { color: var(--primary-deep); }
.mxegress span { padding: 8px 16px; border-radius: var(--r-full); font-size: 15px; font-weight: 500; }
.mxegress__in span { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 182, 138, .35); }
.mxegress__out span { color: #FFFFFF; background: var(--grad-num); }
.mxegress__wall { display: none; }
@media (min-width: 900px) { .mxegress__wall { display: block; position: relative; } .mxegress__wall::before { content: ""; position: absolute; left: 50%; top: 12px; bottom: 12px; width: 4px; margin-left: -2px; border-radius: 2px; background: repeating-linear-gradient(180deg, #EB6100 0 8px, rgba(235, 97, 0, 0) 8px 14px); } }
.mxdcards { display: grid; gap: 12px; }
@media (min-width: 900px) { .mxdcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mxdcard { padding: 22px; border-radius: var(--r-xl); background: var(--surface); box-shadow: 0 1px 2px rgba(31, 31, 31, .04), 0 24px 48px -36px rgba(1, 86, 211, .45); }
.mxdcard b { display: block; margin-bottom: 6px; font-size: 17px; font-weight: 500; color: var(--on-surface); }
.mxdcard p { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--on-surface-var); }
.mxcomply { list-style: none; display: grid; gap: 12px; margin-bottom: 20px; }
@media (min-width: 640px) { .mxcomply { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mxcomply { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mxcomply li { padding: 22px; border-radius: var(--r-xl); background: var(--surface-c); }
.mxcomply__ic { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 13px; color: #FFFFFF; background: var(--grad-num); margin-bottom: 14px; }
.mxcomply__ic svg { width: 22px; height: 22px; }
.mxcomply b { display: block; margin-bottom: 6px; font-size: 16.5px; font-weight: 500; color: var(--on-surface); }
.mxcomply p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--on-surface-var); }
@media print { .mxdark, .mxcon, .mxjr, .mxarch, .mxdef, .mxui--ws, .mxdz { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* header with the medical menu (body.nav-x, nine top-level items): the full bar from 1280 px with the menu button below
   that, compact link padding up to 1440 px, and the text "Contact us" link only from 1600 px (it stays in the menu,
   the footer and every CTA band) */
@media (min-width: 1100px) and (max-width: 1279px) { .nav-x .nav { display: none; } .nav-x .burger { display: inline-flex; } .nav-x .mnav.is-open { display: block; } .nav-x .hdr__txt { display: inline-flex; } }
@media (min-width: 1280px) and (max-width: 1599px) { .nav-x .hdr__txt { display: none; } }
@media (min-width: 1280px) and (max-width: 1439px) { .nav-x .nav__link { padding: 8px 8px; font-size: 14px; } .nav-x .hdr__in { gap: 12px; } html[lang="en"] .nav-x .nav__link { padding: 8px 6px; } html[lang="en"] .nav-x .hdr__logo img { height: 22px; } .nav-x .lang { padding: 8px; } }
/* home: KunXi Medical LLM band */
.mxhome__g { display: grid; gap: 36px; align-items: center; }
@media (min-width: 1024px) { .mxhome__g { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } }
.mxhome h2 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.18; letter-spacing: -0.02em; }
.mxhome__p { margin: 18px 0 0; font-size: 16.5px; line-height: 1.8; color: rgba(255, 255, 255, .75); }
.mxhome__st { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 26px 0 30px; }
@media (min-width: 600px) { .mxhome__st { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mxhome__st li { padding: 14px; border-radius: var(--r-l); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.mxhome__st b { display: block; font-size: 22px; font-weight: 600; line-height: 1.2; background: linear-gradient(120deg, #7CACF8, #8B6CF2 60%, #E05A8E); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mxhome__st span { font-size: 12.5px; color: rgba(255, 255, 255, .62); }
.mxhome .btn--ghost { color: #FFFFFF; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .3); }
.mxhome .btn--ghost:hover { background: rgba(255, 255, 255, .16); }
.mxhome__ph { overflow: hidden; border-radius: var(--r-2xl); aspect-ratio: 16 / 10; box-shadow: 0 40px 80px -40px rgba(1, 86, 211, .8), 0 0 0 1px rgba(124, 172, 248, .25); }
.mxhome__ph picture, .mxhome__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mxhome__fam { margin: 18px auto 0; max-width: 560px; }
/* medical hero headings on phones: let CJK lines break between characters so the punctuation rules apply (no leading ，) */
@media (max-width: 599px) { html[lang="zh-CN"] .mxhero h1 { word-break: normal; line-break: strict; overflow-wrap: normal; } }
.mxspec--mods tbody th { white-space: normal; min-width: 9em; }
.mxhome .cta__btns { justify-content: flex-start; }
