@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-0.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+20,U+2F,U+30,U+31,U+32,U+37,U+41,U+43,U+44,U+45,U+47,U+48,U+49,U+4C,U+4E,U+4F,U+50,U+52,U+53,U+54,U+55,U+57,U+59,U+68,U+69,U+6E,U+6F,U+76,U+B7,U+3001,U+3002,U+4EE3,U+4F01,U+4F4D,U+4F5C,U+4F8B,U+5011,U+5165,U+5168,U+5230,U+5283,U+52A9,U+52D9,U+5347,U+5354,U+5357,U+53EF,U+54C1,U+56E0,U+5730,U+5929,U+5B50,U+5B88,U+5B89,U+5BA2,U+5C08,U+5C0E,U+5DE5,U+5DF2,U+5EFA,U+5F9E,U+60A8,U+6210,U+6211,U+6236,U+6280,U+628A,U+6301,U+6307,U+63A2,U+63D0,U+6490,U+652F,U+6578,U+65B9,U+65BC,U+670D,U+671F,U+6848,U+696D,U+6BCF,U+6C42,U+6C7A,U+6CE8,U+70BA,U+7406,U+767C,U+7684,U+7AEF,U+7BA1,U+7CFB,U+7D22,U+7D71,U+7DAD,U+7E8C,U+7F6E,U+8207,U+8853,U+88FD,U+898F,U+89C0,U+89E3,U+8A0A,U+8A0E,U+8A8D,U+8AD6,U+8B49,U+8B77,U+8B93,U+8CC7,U+8CEA,U+8DD1,U+8EDF,U+8F49,U+901A,U+904B,U+904E,U+9577,U+958B,U+95DC,U+966A,U+96F2,U+9700,U+9760,U+9AD4,U+9EDE,U+FF0C}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-1.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+21,U+22,U+23,U+24,U+25,U+26,U+27,U+28,U+29,U+2A,U+2B,U+2C,U+2D,U+2E,U+33,U+34,U+35,U+36,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+42,U+46,U+4A,U+4B,U+4D,U+51,U+56,U+58,U+5A,U+5B,U+5C,U+5D,U+5E,U+5F,U+60,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+6A,U+6B,U+6C,U+6D,U+70,U+71,U+72,U+73,U+74,U+75,U+77,U+78,U+79,U+7A,U+7B,U+7C,U+7D,U+7E,U+A0,U+A1,U+A2,U+A3,U+A4,U+A5,U+A6,U+A7,U+A8,U+A9,U+AA,U+AB,U+AC,U+AD,U+AE,U+AF,U+B0,U+B1,U+B2,U+B3,U+B4,U+B5,U+B6,U+B8,U+B9,U+BA,U+BB,U+BC,U+BD,U+BE,U+BF,U+C0,U+C1}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-2.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+C2,U+C3,U+C4,U+C5,U+C6,U+C7,U+C8,U+C9,U+CA,U+CB,U+CC,U+CD,U+CE,U+CF,U+D0,U+D1,U+D2,U+D3,U+D4,U+D5,U+D6,U+D7,U+D8,U+D9,U+DA,U+DB,U+DC,U+DD,U+DE,U+DF,U+E0,U+E1,U+E2,U+E3,U+E4,U+E5,U+E6,U+E7,U+E8,U+E9,U+EA,U+EB,U+EC,U+ED,U+EE,U+EF,U+F0,U+F1,U+F2,U+F3,U+F4,U+F5,U+F6,U+F7,U+F8,U+F9,U+FA,U+FB,U+FC,U+FD,U+FE,U+FF,U+41B,U+430,U+435,U+43D,U+2002,U+2003,U+2010,U+2011,U+2012,U+2013,U+2014,U+2015,U+2016,U+2018,U+2019,U+201A,U+201C,U+201D,U+201E,U+2020,U+2021,U+2022,U+2025,U+2026,U+2027,U+2030,U+2032,U+2033,U+2035,U+2039,U+203A,U+203B,U+203C,U+2042,U+2047,U+2048,U+2049,U+2051}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-3.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+2190,U+2192,U+2193,U+2195,U+2197,U+2212,U+2500,U+258E,U+25B6,U+26A0,U+2713,U+3000,U+3003,U+3004,U+3005,U+3006,U+3007,U+3008,U+3009,U+300A,U+300B,U+300C,U+300D,U+300E,U+300F,U+3010,U+3011,U+3012,U+3013,U+3014,U+3015,U+3016,U+3017,U+3018,U+3019,U+301A,U+301B,U+301C,U+301D,U+301E,U+301F,U+3020,U+3021,U+3022,U+3023,U+3024,U+3025,U+3026,U+3027,U+3028,U+3029,U+302A,U+302B,U+302C,U+302D,U+302E,U+302F,U+3030,U+3031,U+3032,U+3033,U+3034,U+3035,U+3036,U+3037,U+3038,U+3039,U+303A,U+303B,U+303C,U+303D,U+303E,U+303F,U+30FB,U+4E00,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E14,U+4E16,U+4E1E,U+4E26,U+4E2D,U+4E32,U+4E3B,U+4E45,U+4E4B,U+4E58,U+4E5F,U+4E86,U+4E8B,U+4E8C,U+4E92,U+4E94,U+4E9B,U+4E9E,U+4EA4,U+4EA6,U+4EAB}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-4.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+4EAC,U+4EAE,U+4EBA,U+4EC0,U+4EC1,U+4ECA,U+4ECB,U+4ECD,U+4ED5,U+4ED6,U+4ED8,U+4EE5,U+4EF0,U+4EF2,U+4EF6,U+4EFB,U+4EFD,U+4F0A,U+4F11,U+4F30,U+4F34,U+4F38,U+4F3A,U+4F46,U+4F47,U+4F48,U+4F4E,U+4F4F,U+4F51,U+4F55,U+4F5B,U+4F60,U+4F73,U+4F75,U+4F7F,U+4F86,U+4F9B,U+4F9D,U+4FB5,U+4FBF,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+4FEF,U+5009,U+500B,U+500D,U+5019,U+503C,U+5047,U+5049,U+504F,U+505A,U+505C,U+5065,U+5074,U+5099,U+50A2,U+50B2,U+50B3,U+50B7,U+50BE,U+50C5,U+50CF,U+50D1,U+50F9,U+5100,U+512A,U+5132,U+5141,U+5143,U+5145,U+5148,U+5149,U+514B,U+514D,U+5152,U+515C,U+5167,U+5169,U+516B,U+516C,U+516D,U+5171,U+5176,U+5177,U+5178,U+518A,U+518D,U+5192,U+51C6,U+51DD,U+51E1,U+51F1,U+51FA,U+5206,U+5207,U+5217,U+521D}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-5.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+5224,U+5225,U+5229,U+522A,U+5236,U+5237,U+523A,U+5247,U+524D,U+526A,U+526F,U+5275,U+5287,U+529B,U+529F,U+52A0,U+52A1,U+52D5,U+52FE,U+5305,U+5316,U+5317,U+532F,U+5340,U+5341,U+5343,U+5349,U+534A,U+535A,U+5361,U+5370,U+5373,U+5377,U+539F,U+53BB,U+53C3,U+53C9,U+53CA,U+53CB,U+53CD,U+53D6,U+53D7,U+53E3,U+53E6,U+53EA,U+53EB,U+53F0,U+53F2,U+53F3,U+53F8,U+5403,U+5404,U+5408,U+540A,U+540C,U+540D,U+540E,U+5411,U+5426,U+542B,U+5448,U+544A,U+5468,U+5473,U+547C,U+548C,U+5496,U+54A8,U+54AA,U+54C7,U+54E1,U+54EA,U+552E,U+5546,U+554F,U+555E,U+555F,U+5561,U+557E,U+5584,U+5586,U+5587,U+559C,U+55AE,U+55CE,U+5609,U+5668,U+56CD,U+56DB,U+56DE,U+56F0,U+56FA,U+5708,U+570B,U+570D,U+5712,U+5713,U+5716,U+5718,U+571F}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-6.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+5728,U+573E,U+5740,U+5747,U+574A,U+5750,U+5761,U+5764,U+576A,U+5783,U+578B,U+57CE,U+57DF,U+57F7,U+57FA,U+5802,U+5821,U+5824,U+5831,U+5834,U+584A,U+5854,U+586B,U+5883,U+589E,U+58A8,U+58D3,U+58EB,U+5907,U+5916,U+591A,U+591C,U+5920,U+5922,U+5925,U+5927,U+592A,U+592E,U+5931,U+5947,U+594F,U+5951,U+5955,U+5957,U+5965,U+5967,U+597D,U+5982,U+59CB,U+59D3,U+5A01,U+5A1C,U+5A5A,U+5A92,U+5B57,U+5B58,U+5B64,U+5B78,U+5B83,U+5B87,U+5B8C,U+5B8F,U+5B97,U+5B98,U+5B99,U+5B9A,U+5B9C,U+5BA3,U+5BA4,U+5BB6,U+5BB9,U+5BC2,U+5BC4,U+5BC6,U+5BCC,U+5BE2,U+5BE6,U+5BE7,U+5BE9,U+5BEB,U+5BEC,U+5BEE,U+5BF0,U+5BF5,U+5BF8,U+5BFA,U+5C01,U+5C07,U+5C0A,U+5C0B,U+5C0D,U+5C0F,U+5C11,U+5C16,U+5C1A,U+5C31,U+5C3A,U+5C3E,U+5C40,U+5C45}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-7.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+5C4B,U+5C4F,U+5C51,U+5C55,U+5C64,U+5C65,U+5C6C,U+5C71,U+5CA9,U+5CB3,U+5CB8,U+5CF6,U+5D19,U+5D34,U+5DBA,U+5DDD,U+5DE2,U+5DE6,U+5DE7,U+5DE8,U+5DEE,U+5DF1,U+5DF4,U+5E02,U+5E03,U+5E0C,U+5E1D,U+5E2B,U+5E2D,U+5E33,U+5E36,U+5E38,U+5E55,U+5E73,U+5E74,U+5E78,U+5E79,U+5E7E,U+5E84,U+5E8F,U+5E95,U+5E97,U+5E9C,U+5EA6,U+5EA7,U+5EAB,U+5EAD,U+5EB7,U+5ED3,U+5EE0,U+5EE3,U+5EF3,U+5EF6,U+5F08,U+5F0F,U+5F15,U+5F17,U+5F18,U+5F31,U+5F35,U+5F37,U+5F48,U+5F59,U+5F62,U+5F69,U+5F71,U+5F7C,U+5F80,U+5F85,U+5F8B,U+5F8C,U+5F90,U+5F91,U+5F92,U+5F97,U+5FA0,U+5FA1,U+5FA9,U+5FAE,U+5FB5,U+5FB7,U+5FB9,U+5FC3,U+5FC5,U+5FD7,U+5FF5,U+600E,U+601D,U+6027,U+6046,U+6062,U+6069,U+606F,U+6089,U+60C5,U+60DF,U+60E1,U+60F3,U+610F,U+611B}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-8.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+611F,U+6148,U+614B,U+6163,U+6167,U+616E,U+6177,U+61B6,U+61C2,U+61C9,U+61F7,U+61FA,U+6216,U+622A,U+6232,U+6233,U+623F,U+6240,U+624B,U+624D,U+6253,U+6258,U+626D,U+6279,U+627E,U+627F,U+6295,U+6297,U+62AC,U+62C6,U+62C9,U+62CD,U+62D3,U+62DB,U+62DC,U+62EF,U+62FC,U+62FF,U+6309,U+6372,U+6377,U+6383,U+6388,U+638C,U+6392,U+63A1,U+63A5,U+63A7,U+63A8,U+63AA,U+63CF,U+63D2,U+63DA,U+63DB,U+63E1,U+63ED,U+63F4,U+640D,U+641C,U+642C,U+642D,U+6436,U+6458,U+6469,U+647A,U+64A4,U+64A5,U+64AD,U+64C7,U+64CA,U+64CD,U+64CE,U+64D4,U+64DA,U+64EC,U+64F4,U+64F7,U+64FA,U+64FE,U+651D,U+6536,U+6539,U+653E,U+653F,U+6545,U+6548,U+654F,U+6551,U+6557,U+6558,U+6559,U+6563,U+6574,U+6587,U+6599,U+659C,U+65AF,U+65B0,U+65B7,U+65BD}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-9.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+65C1,U+65C5,U+65CB,U+65CE,U+65CF,U+65D7,U+65E2,U+65E5,U+65E9,U+65ED,U+65FA,U+6607,U+660C,U+660E,U+6613,U+661F,U+6620,U+662F,U+6631,U+6636,U+6642,U+664B,U+666E,U+666F,U+6670,U+667A,U+668E,U+6696,U+6697,U+66A8,U+66AB,U+66C6,U+66DC,U+66E6,U+66F2,U+66F4,U+66F8,U+66FC,U+66FE,U+66FF,U+6700,U+6703,U+6708,U+6709,U+6714,U+6715,U+671B,U+6728,U+672A,U+672C,U+674E,U+674F,U+6750,U+675F,U+6771,U+677F,U+6790,U+6797,U+679C,U+67B6,U+67D3,U+67D4,U+67E5,U+6838,U+6839,U+683C,U+6846,U+684C,U+6850,U+689D,U+68AF,U+68B0,U+68C9,U+68CB,U+68EA,U+6905,U+6953,U+695A,U+6975,U+6977,U+6982,U+69AE,U+69CB,U+6A02,U+6A13,U+6A19,U+6A21,U+6A23,U+6A38,U+6A39,U+6A4B,U+6A58,U+6A59,U+6A5F,U+6A6B,U+6A8D,U+6A94,U+6AA2,U+6AC3,U+6B04}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-10.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+6B0A,U+6B21,U+6B23,U+6B3E,U+6B50,U+6B61,U+6B62,U+6B63,U+6B64,U+6B65,U+6B77,U+6B78,U+6B8A,U+6BB5,U+6BBC,U+6BC5,U+6BCB,U+6BD4,U+6BDB,U+6C11,U+6C34,U+6C37,U+6C38,U+6C4E,U+6C5F,U+6C60,U+6C7D,U+6C83,U+6C89,U+6C90,U+6C92,U+6C99,U+6CBF,U+6CC1,U+6CCA,U+6CD5,U+6CDB,U+6CE2,U+6CF0,U+6D0B,U+6D17,U+6D32,U+6D3B,U+6D3D,U+6D3E,U+6D41,U+6D6A,U+6D77,U+6D89,U+6DB5,U+6DE1,U+6DE8,U+6DF1,U+6DF7,U+6DFA,U+6E05,U+6E1B,U+6E25,U+6E2C,U+6E2F,U+6E32,U+6E56,U+6E90,U+6E96,U+6E9D,U+6EA2,U+6EAF,U+6EF2,U+6EFE,U+6F01,U+6F0F,U+6F14,U+6F22,U+6F38,U+6F3E,U+6F58,U+6F64,U+6F84,U+6FDF,U+6FE0,U+6FEB,U+6FFE,U+700F,U+7063,U+706B,U+7070,U+70AD,U+70E4,U+7121,U+7126,U+7136,U+714C,U+7159,U+7167,U+719F,U+71B1,U+71C8,U+71D2,U+71DF,U+722C}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-11.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+7236,U+723E,U+7247,U+7248,U+724C,U+7259,U+725B,U+7267,U+7269,U+7279,U+72C0,U+72D7,U+731C,U+7368,U+7372,U+7387,U+738B,U+73A9,U+73BB,U+73C9,U+73E0,U+73ED,U+73FE,U+7403,U+744B,U+745D,U+745E,U+745F,U+7469,U+746A,U+7483,U+74B0,U+74BD,U+751F,U+7522,U+7528,U+752B,U+7530,U+7531,U+7533,U+7535,U+754C,U+7559,U+7565,U+756B,U+7570,U+7576,U+758A,U+7642,U+767B,U+767D,U+767E,U+7686,U+7688,U+76AE,U+76CA,U+76DB,U+76DF,U+76E3,U+76E4,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+773E,U+7763,U+777F,U+77E5,U+77ED,U+77F3,U+77FD,U+7814,U+7834,U+786C,U+786F,U+78A9,U+78BA,U+78BC,U+78C5,U+790E,U+7919,U+793A,U+793E,U+7950,U+795E,U+7965,U+7968,U+797F,U+7981,U+798F,U+79AE,U+79B9,U+79BE,U+79C1,U+79CB,U+79D1,U+79FB}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-12.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+7A0B,U+7A0D,U+7A2E,U+7A31,U+7A3D,U+7A3F,U+7A4D,U+7A69,U+7A76,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD1,U+7AD9,U+7AE0,U+7AF6,U+7AF9,U+7B19,U+7B26,U+7B2C,U+7B46,U+7B49,U+7B52,U+7B54,U+7B56,U+7B97,U+7BB1,U+7BC0,U+7BC4,U+7BC7,U+7BC9,U+7BE9,U+7C21,U+7C3D,U+7C3F,U+7C64,U+7C73,U+7C89,U+7C97,U+7CBE,U+7CCA,U+7CE7,U+7D00,U+7D04,U+7D05,U+7D0B,U+7D0D,U+7D10,U+7D14,U+7D17,U+7D19,U+7D1A,U+7D20,U+7D21,U+7D2B,U+7D2F,U+7D30,U+7D39,U+7D42,U+7D44,U+7D50,U+7D55,U+7D61,U+7D66,U+7D72,U+7D79,U+7D81,U+7D93,U+7D9C,U+7DA0,U+7DB2,U+7DB4,U+7DDA,U+7DE3,U+7DE8,U+7DEF,U+7DF4,U+7DF9,U+7DFB,U+7E2E,U+7E31,U+7E3D,U+7E41,U+7E54,U+7E61,U+7E6A,U+7E6B,U+7E7C,U+7F3A,U+7F72,U+7F8E,U+7FA4,U+7FA9,U+7FBF,U+7FD2,U+7FFB,U+8001}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-13.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+8003,U+8005,U+800C,U+8010,U+8015,U+8033,U+804A,U+8056,U+805A,U+805E,U+806F,U+8072,U+8077,U+8086,U+8089,U+80A1,U+80B2,U+80CC,U+80DE,U+80F8,U+80FD,U+8108,U+8154,U+8173,U+819A,U+81C6,U+81E8,U+81EA,U+81F3,U+81F4,U+81FA,U+8208,U+8209,U+820A,U+8212,U+821E,U+822A,U+822C,U+8272,U+827E,U+82AF,U+82B1,U+82B3,U+82E5,U+82F1,U+8302,U+8332,U+8335,U+8336,U+8343,U+8349,U+83E9,U+83EF,U+83F2,U+840A,U+842C,U+843D,U+8449,U+8457,U+8490,U+8499,U+84CB,U+851A,U+853D,U+85A6,U+85A9,U+85CD,U+85CF,U+85DD,U+85E5,U+862D,U+8655,U+865B,U+865F,U+878D,U+87A2,U+87F2,U+884C,U+884D,U+885D,U+8861,U+8863,U+8868,U+886B,U+8896,U+88AB,U+88BA,U+88C1,U+88D5,U+88DC,U+88DD,U+88E1,U+8907,U+896F,U+897F,U+8981,U+8986,U+898B,U+8996,U+89AA}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-14.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+89BA,U+89BD,U+89D2,U+89F8,U+8A00,U+8A02,U+8A08,U+8A13,U+8A17,U+8A18,U+8A2A,U+8A2D,U+8A31,U+8A34,U+8A3A,U+8A3B,U+8A55,U+8A62,U+8A66,U+8A71,U+8A72,U+8A73,U+8A8C,U+8A9E,U+8AA0,U+8AA4,U+8AA6,U+8AAA,U+8AB0,U+8AB2,U+8ABF,U+8AC7,U+8ACB,U+8AFE,U+8B00,U+8B1D,U+8B58,U+8B66,U+8B6F,U+8B70,U+8B80,U+8B8A,U+8BBE,U+8BE2,U+8C37,U+8C50,U+8C61,U+8C6A,U+8C8C,U+8C93,U+8C9D,U+8CA0,U+8CA1,U+8CA2,U+8CA8,U+8CA9,U+8CAC,U+8CB7,U+8CBB,U+8CBC,U+8CBF,U+8CE2,U+8CE3,U+8CF4,U+8CFC,U+8CFD,U+8D08,U+8D0A,U+8D70,U+8D77,U+8D85,U+8D8A,U+8DA3,U+8DB3,U+8DDD,U+8DDF,U+8DE8,U+8DEF,U+8DF3,U+8E10,U+8E48,U+8E64,U+8EAB,U+8ECA,U+8ECC,U+8ECD,U+8EF8,U+8F03,U+8F09,U+8F14,U+8F1D,U+8F2A,U+8F2F,U+8F38,U+8FA6,U+8FA8,U+8FB0,U+8FB2,U+8FC5,U+8FD1}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-15.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+8FD4,U+8FEA,U+8FF0,U+8FF4,U+8FFD,U+9001,U+900F,U+9010,U+9014,U+9019,U+901F,U+9020,U+9023,U+9031,U+9032,U+903E,U+9047,U+904A,U+9053,U+9054,U+905E,U+9060,U+9069,U+906E,U+9075,U+9077,U+9078,U+907A,U+907F,U+9081,U+9084,U+908A,U+908F,U+90A3,U+90CE,U+90E8,U+90F5,U+90FD,U+9109,U+9130,U+914D,U+9152,U+91AB,U+91C7,U+91CD,U+91CE,U+91CF,U+91D0,U+91D1,U+91DD,U+9215,U+9234,U+923A,U+9245,U+925E,U+9280,U+9285,U+929C,U+92A8,U+92B3,U+92B7,U+92D2,U+92FC,U+9304,U+932F,U+9338,U+9375,U+9396,U+93A7,U+93E1,U+93FD,U+9435,U+946B,U+9470,U+9580,U+9589,U+9592,U+9593,U+95B1,U+961C,U+9632,U+963B,U+963F,U+9644,U+964D,U+9650,U+965E,U+9662,U+9663,U+9664,U+9670,U+9673,U+9686,U+968A,U+968E,U+9694,U+969B,U+969C,U+96A8,U+96AA}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-16.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+96B1,U+96BC,U+96C5,U+96C6,U+96C9,U+96CB,U+96D9,U+96DC,U+96DE,U+96E2,U+96E3,U+96E8,U+96EA,U+96F6,U+96F7,U+96FB,U+970F,U+9732,U+9738,U+9748,U+9752,U+975C,U+975E,U+9762,U+97D3,U+97F3,U+97FF,U+9801,U+9802,U+9805,U+9806,U+9808,U+9810,U+9813,U+9818,U+9821,U+982D,U+9838,U+983B,U+984C,U+984D,U+984F,U+985E,U+9867,U+986F,U+98A8,U+98DF,U+98F2,U+98FE,U+990A,U+9910,U+9918,U+9928,U+994B,U+9996,U+9999,U+99A5,U+99A8,U+99B3,U+99D0,U+99FF,U+9A01,U+9A30,U+9A45,U+9A4A,U+9A57,U+9A5F,U+9AD8,U+9AEE,U+9B41,U+9D3B,U+9E97,U+9EA5,U+9EB5,U+9EBC,U+9ED1,U+9F0E,U+9F4A,U+9F61,U+9F8D,U+FF01,U+FF02,U+FF03,U+FF04,U+FF05,U+FF06,U+FF07,U+FF08,U+FF09,U+FF0A,U+FF0B,U+FF0D,U+FF0E,U+FF0F,U+FF10,U+FF11,U+FF12,U+FF13,U+FF14,U+FF15}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-17.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+FF16,U+FF17,U+FF18,U+FF19,U+FF1A,U+FF1B,U+FF1C,U+FF1D,U+FF1E,U+FF1F,U+FF20,U+FF21,U+FF22,U+FF23,U+FF24,U+FF25,U+FF26,U+FF27,U+FF28,U+FF29,U+FF2A,U+FF2B,U+FF2C,U+FF2D,U+FF2E,U+FF2F,U+FF30,U+FF31,U+FF32,U+FF33,U+FF34,U+FF35,U+FF36,U+FF37,U+FF38,U+FF39,U+FF3A,U+FF3B,U+FF3C,U+FF3D,U+FF3E,U+FF3F,U+FF40,U+FF41,U+FF42,U+FF43,U+FF44,U+FF45,U+FF46,U+FF47,U+FF48,U+FF49,U+FF4A,U+FF4B,U+FF4C,U+FF4D,U+FF4E,U+FF4F,U+FF50,U+FF51,U+FF52,U+FF53,U+FF54,U+FF55,U+FF56,U+FF57,U+FF58,U+FF59,U+FF5A,U+FF5B,U+FF5C,U+FF5D,U+FF5E,U+FF5F,U+FF60,U+FF61,U+FF62,U+FF63,U+FF64,U+FF65,U+FF66,U+FF67,U+FF68,U+FF69,U+FF6A,U+FF6B,U+FF6C,U+FF6D,U+FF6E,U+FF6F,U+FF70,U+FF71,U+FF72,U+FF73,U+FF74,U+FF75,U+FF76,U+FF77,U+FF78,U+FF79}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-18.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+FF7A,U+FF7B,U+FF7C,U+FF7D,U+FF7E,U+FF7F,U+FF80,U+FF81,U+FF82,U+FF83,U+FF84,U+FF85,U+FF86,U+FF87,U+FF88,U+FF89,U+FF8A,U+FF8B,U+FF8C,U+FF8D,U+FF8E,U+FF8F,U+FF90,U+FF91,U+FF92,U+FF93,U+FF94,U+FF95,U+FF96,U+FF97,U+FF98,U+FF99,U+FF9A,U+FF9B,U+FF9C,U+FF9D,U+FF9E,U+FF9F,U+FFA1,U+FFA2,U+FFA3,U+FFA4,U+FFA5,U+FFA6,U+FFA7,U+FFA8,U+FFA9,U+FFAA,U+FFAB,U+FFAC,U+FFAD,U+FFAE,U+FFAF,U+FFB0,U+FFB1,U+FFB2,U+FFB3,U+FFB4,U+FFB5,U+FFB6,U+FFB7,U+FFB8,U+FFB9,U+FFBA,U+FFBB,U+FFBC,U+FFBD,U+FFBE,U+FFC2,U+FFC3,U+FFC4,U+FFC5,U+FFC6,U+FFC7,U+FFCA,U+FFCB,U+FFCC,U+FFCD,U+FFCE,U+FFCF,U+FFD2,U+FFD3,U+FFD4,U+FFD5,U+FFD6,U+FFD7,U+FFDA,U+FFDB,U+FFDC,U+FFE0,U+FFE1,U+FFE2,U+FFE3,U+FFE4,U+FFE5,U+FFE6,U+FFE8,U+FFE9,U+FFEA,U+FFEB}
@font-face{font-family:'Noto Sans TC';src:url('/assets/fonts/noto-tc-part-19.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+FFEC,U+FFED,U+FFEE}
:root{
  --factor-blue:#2F88B7;--factor-cyan:#2FBAB7;--factor-green:#35994A;
  --ink:#1A2330;--slate:#5B6677;--cream:#F1F2EC;--paper:#FAFAF7;--white:#FFFFFF;
  --amber:#E9AB34;--grass:#6FA12B;--blue-700:#216487;--blue-900:#173E56;
  --blue-50:#EDF5F9;--green-50:#EFF6F0;--green-700:#246B34;--line:#DCE2E7;
  --error:#A5322A;--muted:var(--slate);--dark:var(--ink);--mint:var(--green-50);
  --radius:5px;--font:Inter,'Microsoft JhengHei','PingFang TC',system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}img,svg{max-width:100%}img{display:block}button:disabled{cursor:not-allowed}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue-700);outline-offset:5px}::selection{background:var(--factor-cyan);color:var(--ink)}[hidden]{display:none!important}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-synthesis:none;text-wrap:balance}h1{font-size:clamp(42px,4.7vw,64px);line-height:1.2;letter-spacing:-.035em;font-weight:700;margin-bottom:26px}h2{font-size:clamp(30px,3vw,40px);line-height:1.3;letter-spacing:-.025em;font-weight:700;margin-bottom:24px}h3{font-size:28px;line-height:1.3;letter-spacing:-.015em;font-weight:500;margin-bottom:15px}h4{font-size:18px;font-weight:700}p{margin-bottom:24px}em{font-style:normal}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding:104px 0}.section-sm{padding:72px 0}.subtle{color:var(--slate)}.tiny{font-size:12px;line-height:1.7}.icon{display:inline-block;width:22px;height:22px;flex-shrink:0;vertical-align:middle}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--blue-700);margin-bottom:24px}.eyebrow:before{content:'';width:20px;height:3px;flex:none;background:var(--factor-blue)}.skip-link{position:fixed;z-index:1000;top:-80px;left:20px;background:var(--ink);color:var(--white);padding:12px 20px;font-size:15px}.skip-link:focus{top:12px}
/* Fixed artwork lockups. The padded link preserves at least a quarter-mark clear space. */
.brand{display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;padding:14px;line-height:1;min-width:0}.brand-lockup{display:block;width:224px;height:auto;max-width:none}.brand-reverse .brand-lockup{width:252px}.site-header{height:96px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.header-inner{height:100%;display:flex;align-items:center;gap:24px}.header-inner>.brand{margin-left:-14px}.desktop-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500;margin-left:auto;white-space:nowrap}.desktop-nav>a,.nav-wrap>a{position:relative;padding:14px 0}.desktop-nav a:hover,.desktop-nav a.active{color:var(--blue-700)}.desktop-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--factor-blue)}.nav-wrap{display:flex;align-items:center;gap:2px;position:relative}.nav-toggle{border:0;background:none;padding:10px 3px;display:grid;place-items:center}.nav-toggle .icon{width:15px;height:15px}.nav-dropdown{display:none;position:absolute;left:-22px;top:calc(100% + 12px);width:244px;padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 16px 36px #1A233018;border-top:3px solid var(--factor-blue)}.nav-wrap.open .nav-dropdown{display:grid}.nav-dropdown a{padding:12px;font-size:14px}.nav-dropdown a:hover{background:var(--blue-50)}.header-cta{margin-left:6px;white-space:nowrap}.menu-toggle{display:none;border:1px solid var(--line);background:var(--white);padding:10px}.menu-toggle .icon{width:23px;height:23px}.mobile-menu{inset:0 0 auto auto;margin:0;width:min(460px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;padding:22px 26px 38px;background:var(--paper);color:var(--ink);overflow:auto}.mobile-menu::backdrop{background:#1A233080}.mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:14px}.mobile-top .brand{margin-left:-14px}.icon-btn{display:grid;place-items:center;border:1px solid var(--line);background:var(--white);padding:10px;flex:none}.mobile-menu nav{display:grid;margin-bottom:36px}.mobile-menu nav>a{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:18px}.mobile-menu>.tiny{margin-top:26px;color:var(--slate)}
/* Actions */
.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:52px;padding:14px 22px;border:1px solid var(--blue-700);border-radius:2px;background:var(--blue-700);color:var(--white);font-size:15px;line-height:1.5;font-weight:600;transition:background .18s,color .18s,border-color .18s}.btn:hover{background:var(--blue-900);border-color:var(--blue-900)}.btn .icon{width:20px;height:20px}.btn-outline{background:transparent;color:var(--blue-700);border-color:var(--blue-700)}.btn-outline:hover{color:var(--white)}.btn-white{background:var(--white);border-color:var(--white);color:var(--ink)}.btn-white:hover{background:var(--blue-50);border-color:var(--blue-50);color:var(--blue-900)}.text-link{display:inline-flex;align-items:center;gap:16px;align-self:flex-start;border-bottom:1px solid currentColor;padding:8px 0;font-size:15px;line-height:1.5;font-weight:600;color:var(--blue-700)}.text-link:hover{color:var(--blue-900)}.text-link .icon{width:18px;height:18px}
/* Home hero: the bands and factor dots are supporting graphics, separate from the logo. */
.hero{padding:76px 0 64px;background:var(--white);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:66px;align-items:center}.hero h1{font-size:clamp(48px,4.75vw,64px);line-height:1.2;margin-bottom:28px}.hero h1 span{display:block}.hero h1 em{color:var(--blue-700)}.hero-copy>p{font-size:18px;line-height:1.75;max-width:610px;color:var(--slate);margin-bottom:0}.hero-footnote{margin-top:36px;font-size:13px;display:flex;align-items:center;gap:16px;color:var(--slate);letter-spacing:.04em}.hero-footnote:before{content:'';width:34px;height:2px;background:var(--factor-green)}.hero-art{position:relative;min-height:510px;isolation:isolate;background:var(--ink);overflow:hidden;border-radius:2px}.art-dots{position:absolute;inset:0;background-image:radial-gradient(circle,#2F88B78c 1.5px,transparent 1.8px);background-size:28px 28px;opacity:.45}.art-meta{position:absolute;top:29px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.16em;color:#C8D6E1}.art-meta span:last-child{color:var(--factor-cyan)}.art-bands{position:absolute;inset:0;overflow:hidden}.art-bands:before,.art-bands:after{content:'';position:absolute;left:-30%;width:160%;transform:rotate(-24deg);transform-origin:center}.art-bands:before{top:220px;height:104px;background:var(--factor-blue)}.art-bands:after{top:339px;height:52px;background:var(--factor-green)}.art-logo{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:242px;height:242px;background:var(--white);border:1px solid #FFFFFF;display:grid;place-items:center;border-radius:50%}.art-logo img{width:130px;height:auto;max-height:145px;object-fit:contain}.art-cyan-node{width:14px;height:14px;position:absolute;top:117px;right:67px;background:var(--factor-cyan);border:4px solid var(--ink);box-sizing:content-box}.art-caption{background:var(--ink);position:absolute;left:30px;right:30px;bottom:28px;border-top:1px solid #FFFFFF40;padding-top:16px;display:flex;justify-content:space-between;align-items:end;gap:18px;color:var(--white)}.art-caption strong{font-size:17px;font-weight:500;letter-spacing:.04em}.art-caption span{font-size:10px;letter-spacing:.15em;color:#C8D6E1;text-align:right;line-height:1.7}.expertise-band{background:var(--blue-50);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.expertise-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:23px 0;font-size:14px}.expertise-inner>strong{font-size:10px;letter-spacing:.14em;color:var(--blue-700)}.expertise-inner>span{display:flex;align-items:center;gap:10px;white-space:nowrap}.expertise-inner .icon{width:20px;height:20px;color:var(--blue-700)}
/* Services */
.service-layout{display:grid;grid-template-columns:.85fr 1.5fr;gap:82px}.service-intro p{color:var(--slate);font-size:17px;margin:25px 0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 38px}.service-item{position:relative;display:flex;flex-direction:column;border-top:1px solid var(--line);padding:28px 0 32px}.service-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;color:var(--blue-700)}.service-item-top>.icon{width:32px;height:32px}.item-number{font-size:12px;font-weight:500;color:var(--slate)}.service-item h3{font-size:23px;font-weight:600;line-height:1.45;margin-bottom:12px}.service-item p{font-size:15px;color:var(--slate);margin-bottom:0;margin-right:15px;line-height:1.8}.service-arrow{position:absolute;right:0;bottom:30px;width:18px;height:18px;color:var(--blue-700)}.service-item:hover h3{color:var(--blue-700)}.service-item:hover .service-item-top>.icon{color:var(--green-700)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:430px;font-size:17px;line-height:1.8;color:var(--slate);margin-bottom:4px}
/* Shinvo belongs to the same brand framework; product photography keeps natural colors. */
.shinvo-section{position:relative;background:var(--ink);color:var(--white);overflow:hidden}.shinvo-section:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#2F88B740 1px,transparent 1.5px);background-size:32px 32px;pointer-events:none}.shinvo-feature{position:relative;display:grid;grid-template-columns:.9fr 1.3fr;gap:74px;align-items:center}.shinvo-section .eyebrow{color:#B6D7E8}.shinvo-section .eyebrow:before{background:var(--factor-cyan)}.shinvo-word{font-size:62px;line-height:1.1;letter-spacing:-.06em;font-weight:700;margin:0 0 24px}.shinvo-word sup{font-size:.4em;color:var(--factor-cyan);vertical-align:top;margin-left:7px;position:relative;top:5px}.shinvo-section h2{font-size:36px}.shinvo-copy>p{color:#C1CCD7;font-size:17px;line-height:1.85}.product-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-mini{min-height:166px;border:1px solid #485565;padding:24px 18px;display:flex;flex-direction:column;background:#FFFFFF03;transition:background .18s,border-color .18s}.product-mini>.icon{color:var(--factor-cyan);width:28px;height:28px;margin-bottom:28px}.product-mini strong{font-size:14px;line-height:1.4;font-weight:600}.product-mini span{font-size:12px;line-height:1.6;color:#C1CCD7;margin-top:7px}.product-mini:hover{background:#2F88B717;border-color:var(--factor-blue)}.product-mini.last{background:var(--blue-700);border-color:var(--blue-700)}.product-mini.last span,.product-mini.last>.icon{color:var(--white)}
/* Business scenarios, process, and editorial content */
.solution-tabs{display:grid;grid-template-columns:1fr 1.25fr;gap:60px}.tab-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.solution-tab{background:transparent;border:0;border-bottom:1px solid var(--line);padding:23px 0;display:flex;align-items:center;text-align:left;gap:18px;font-size:17px;font-weight:500}.solution-tab>span:first-child{font-size:12px;color:var(--slate);width:23px}.solution-tab>.icon{margin-left:auto;width:18px}.solution-tab[aria-selected=true]{color:var(--blue-700)}.solution-tab[aria-selected=true]>span:first-child{color:var(--blue-700)}.solution-panel{background:var(--blue-50);padding:40px;min-height:360px;border-left:3px solid var(--factor-blue)}.solution-panel .eyebrow{font-size:11px}.solution-panel h3{font-size:30px;line-height:1.4;font-weight:700}.solution-panel>p{font-size:16px;color:var(--slate)}.flow-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:28px 0}.flow-node{padding:8px 13px;border:1px solid #BFCDD6;background:var(--white);font-size:12px}.flow-line>.icon{width:14px;color:var(--blue-700)}.process-section{background:var(--cream)}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;margin-top:46px}.process-card{border-top:2px solid var(--factor-blue);padding-top:22px}.process-card:nth-child(2){border-color:var(--factor-cyan)}.process-card:nth-child(3){border-color:var(--factor-green)}.process-card:nth-child(4){border-color:var(--ink)}.process-number{display:block;font-size:13px;font-weight:700;color:var(--blue-700);margin-bottom:27px}.process-card h3{font-size:22px;font-weight:600}.process-card p{font-size:15px;color:var(--slate);margin-bottom:0}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.insight-card{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column}.category{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--blue-700);margin-bottom:25px}.insight-card h3{font-size:24px;line-height:1.55;font-weight:600}.insight-card p{font-size:16px;color:var(--slate);line-height:1.8}.insight-card .read{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;font-size:14px;font-weight:600;color:var(--blue-700)}.insight-card .read .icon{width:18px}.insight-card:hover h3{color:var(--blue-700)}.faq-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}.faq-layout>div>p{font-size:16px;color:var(--slate)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;position:relative;cursor:pointer;padding:24px 34px 24px 0;font-size:17px;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:2px;top:20px;font-size:25px;font-weight:400;color:var(--blue-700)}.faq-list details[open] summary:after{content:'−'}.faq-list details[open] summary{color:var(--blue-700)}.faq-list details>p{font-size:16px;color:var(--slate);line-height:1.85;padding-right:26px;margin-bottom:25px}.cta-band{position:relative;background:var(--blue-50);padding:68px 0;border-top:1px solid var(--line);overflow:hidden}.cta-band:before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(to right,var(--factor-blue) 0 50%,var(--factor-green) 50% 75%,var(--factor-cyan) 75% 85%,var(--ink) 85% 100%)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:42px}.cta-inner h2{font-size:36px;margin-bottom:14px}.cta-inner p{font-size:17px;color:var(--slate);margin-bottom:0}
/* Page headers and detail layouts */
.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--slate);margin-bottom:42px;flex-wrap:wrap}.breadcrumbs .icon{width:12px;height:12px}.breadcrumbs a:hover{color:var(--blue-700)}.page-hero{position:relative;background:var(--white);padding:35px 0 76px;border-bottom:1px solid var(--line);overflow:hidden}.page-hero:after{content:'';height:4px;width:130px;background:var(--factor-blue);position:absolute;bottom:0;left:max(48px,calc((100% - 1240px) / 2));box-shadow:54px 0 0 var(--factor-green),82px 0 0 var(--factor-cyan);transform:skewX(-24deg);transform-origin:left}.page-hero-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:76px;align-items:center}.page-hero h1{font-size:clamp(38px,4.2vw,56px);line-height:1.3;max-width:850px}.page-hero .lede{font-size:18px;line-height:1.85;color:var(--slate);max-width:790px;margin-bottom:0}.page-hero .eyebrow{margin-bottom:22px}.hero-side{padding-left:30px;border-left:1px solid var(--line);align-self:end}.hero-side .big-icon{width:62px;height:62px;display:grid;place-items:center;background:var(--blue-50);margin-bottom:23px;color:var(--blue-700)}.hero-side .big-icon .icon{width:32px;height:32px}.hero-side .tiny{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--blue-700)}.hero-side p{font-size:14px;color:var(--slate);line-height:1.9;margin:10px 0 0}.service-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.overview-card{background:var(--white);border:1px solid var(--line);padding:36px;position:relative}.overview-card:before{content:'';position:absolute;left:0;top:0;height:3px;width:56px;background:var(--factor-blue)}.overview-card:nth-child(3n+2):before{background:var(--factor-green)}.overview-card:nth-child(3n):before{background:var(--factor-cyan)}.icon-wrap{width:50px;height:50px;background:var(--blue-50);color:var(--blue-700);display:grid;place-items:center;margin-bottom:28px}.icon-wrap .icon{width:26px;height:26px}.overview-card h2{font-size:28px;margin-bottom:18px}.overview-card p{font-size:17px;color:var(--slate)}.scope-layout{display:grid;grid-template-columns:.75fr 1.5fr;gap:80px}.scope-layout>div>p{font-size:17px;line-height:1.85}.scope-row{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:28px 0;border-top:1px solid var(--line)}.scope-row:last-child{border-bottom:1px solid var(--line)}.scope-row .n{font-size:12px;font-weight:600;color:var(--blue-700);padding-top:7px}.scope-row h3{font-size:25px;font-weight:500;margin-bottom:13px}.scope-row p{font-size:17px;line-height:1.85;color:var(--slate);margin-bottom:0}.deliverables{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 30px;margin-top:32px}.delivery-item{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid #CDD5CE;font-size:16px}.delivery-item .icon{width:19px;height:19px;margin-top:4px;color:var(--green-700)}.steps-list{display:flex;flex-wrap:wrap;gap:20px 30px;margin-top:28px}.steps-list>span{display:flex;align-items:center;gap:12px;font-size:15px}.steps-list b{font-size:12px;font-weight:600;display:grid;place-items:center;width:30px;height:30px;background:var(--blue-50);border:1px solid #BDCFDC;color:var(--blue-700)}
/* Product directory and photographs */
.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:32px}.filter-btn{border:1px solid var(--line);background:var(--white);padding:11px 22px;min-height:44px;line-height:1.4;font-size:14px;border-radius:2px}.filter-btn.active{background:var(--blue-700);border-color:var(--blue-700);color:var(--white)}.filters .result-count{margin-left:auto;font-size:13px;color:var(--slate)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,box-shadow .18s}.product-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #1A23300D}.product-visual{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--blue-50)}.product-visual>.icon{position:absolute;width:70px;height:70px;right:24px;bottom:24px;color:var(--blue-700)}.context-photo{display:block;width:100%;height:100%;object-fit:cover}.status-badge{display:inline-flex;align-items:center;gap:6px;position:absolute;z-index:1;left:16px;top:16px;background:var(--white);color:var(--green-700);border:1px solid #D5E6D8;border-radius:2px;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.35;letter-spacing:.01em}.status-badge:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--factor-green)}.status-badge.planned{color:var(--ink);background:#FAF0D9;border-color:var(--amber)}.status-badge.planned:before{background:var(--amber)}.product-body{padding:28px 25px;display:flex;flex-direction:column;flex:1}.product-en{display:block;font-size:12px;color:var(--blue-700);font-weight:600;letter-spacing:.03em;margin-bottom:8px}.product-body h3{font-size:24px;font-weight:600;margin-bottom:16px}.product-body p{font-size:15px;color:var(--slate);line-height:1.8}.product-body .text-link{margin-top:auto;align-self:flex-start}.product-note{font-size:14px;line-height:1.8;color:var(--slate);max-width:920px;margin:28px 0 0}.product-detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:start}.benefit-list{list-style:none;padding:0;margin:27px 0 34px}.benefit-list li{display:flex;gap:13px;font-size:17px;margin:17px 0;line-height:1.7}.benefit-list .icon{width:20px;height:20px;margin-top:4px;color:var(--green-700)}.product-photo,.service-photo{margin:0;min-width:0}.photo-frame{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--blue-50);border-radius:var(--radius)}.product-photo figcaption,.service-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin-top:14px;color:var(--slate);font-size:12px;line-height:1.8}.photo-credit{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;color:var(--blue-700)}.photo-credit:hover{color:var(--blue-900)}.service-photo{margin-top:30px}.service-photo figcaption{display:block}.service-photo figcaption>span{display:block;margin-bottom:6px}.solutions-list{display:grid;gap:14px}.solution-card{display:grid;grid-template-columns:.55fr 1.5fr;gap:55px;padding:45px 0;border-top:1px solid var(--line)}.solution-no{font-size:72px;font-weight:400;line-height:1;letter-spacing:-.06em;color:var(--factor-blue)}.solution-card .tiny{font-size:10px;letter-spacing:.12em;margin-top:20px;color:var(--slate)}.solution-card h2{font-size:34px}.solution-card p{color:var(--slate);font-size:17px}.related-tags{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.related-tags a{display:inline-flex;padding:8px 13px;border:1px solid #B8CBD6;background:var(--white);font-size:13px;color:var(--blue-700)}.related-tags a:hover{background:var(--blue-50)}.about-statement{font-size:clamp(28px,3.25vw,43px);line-height:1.8;font-weight:500;max-width:1090px;letter-spacing:-.025em}.about-statement em{color:var(--blue-700)}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:55px}.value-item{padding-top:24px;border-top:2px solid var(--factor-blue)}.value-item:nth-child(2){border-color:var(--factor-green)}.value-item:nth-child(3){border-color:var(--factor-cyan)}.value-item .n{font-size:12px;font-weight:600;color:var(--blue-700)}.value-item h3{font-size:26px;margin:22px 0 15px}.value-item p{font-size:17px;line-height:1.85;color:var(--slate)}.article{max-width:810px;margin-inline:auto}.article h2{font-size:30px;line-height:1.45;margin:48px 0 22px}.article h3{font-size:24px;margin-top:30px}.article p,.article li{color:var(--slate);font-size:18px;line-height:1.9}.article ul{padding-left:24px}.article .article-intro{font-size:21px;color:var(--ink)}.article-note{padding:20px 25px;border-left:3px solid var(--factor-blue);background:var(--blue-50);margin:38px 0;font-size:15px!important}
/* Contact, forms, and dialogs */
.contact-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px;align-items:start}.contact-intro h1{font-size:44px;line-height:1.35}.contact-intro>p{font-size:17px;line-height:1.85;color:var(--slate)}.contact-details{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.contact-details h2{font-size:20px;line-height:1.65;letter-spacing:0;margin-bottom:5px}.company-en{font-size:13px;line-height:1.7;color:var(--slate);margin:0 0 18px}.company-contact{display:grid;font-style:normal;margin:0;min-width:0}.company-contact-link{display:grid;grid-template-columns:minmax(0,1fr) 18px;column-gap:12px;padding:15px 0;border-bottom:1px solid var(--line);align-items:center;min-width:0}.company-contact-link .contact-label{font-size:12px;line-height:1.8;color:var(--slate);grid-column:1}.company-contact-link .contact-value{font-size:15px;line-height:1.8;font-weight:500;grid-column:1;overflow-wrap:anywhere}.company-contact-link>.icon{grid-column:2;grid-row:1/3;width:17px;height:17px;color:var(--blue-700)}.company-contact-link:hover .contact-value{text-decoration:underline;text-underline-offset:4px;color:var(--blue-700)}.contact-trust{margin-top:32px}.contact-trust h3{font-size:16px;line-height:1.6}.contact-trust p{font-size:14px;line-height:1.9;color:var(--slate)}.form-panel{padding:38px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);border-top:3px solid var(--factor-blue)}.form-step-title{display:flex;align-items:center;gap:14px;font-size:19px;font-weight:600;line-height:1.5;margin:0 0 24px}.form-step-title>span{font-size:11px;color:var(--blue-700);background:var(--blue-50);width:28px;height:28px;flex:none;display:grid;place-items:center}.interest-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.interest-choice{position:relative}.interest-choice input{position:absolute;left:14px;top:20px;width:18px;height:18px;opacity:0}.interest-choice label{display:flex;align-items:center;gap:10px;min-height:54px;padding:13px 14px;border:1px solid #CBD4DC;border-radius:3px;font-size:14px;line-height:1.6;cursor:pointer}.interest-choice label:before{content:'';width:16px;height:16px;flex:none;border:1px solid #7D8D9A;border-radius:2px;background:var(--white)}.interest-choice input:checked+label{background:var(--blue-50);border-color:var(--blue-700);color:var(--blue-900)}.interest-choice input:checked+label:before{background:var(--blue-700);border-color:var(--blue-700);box-shadow:inset 0 0 0 3px var(--white)}.interest-choice input:focus-visible+label{outline:3px solid var(--blue-700);outline-offset:3px}.form-divider{border:0;border-top:1px solid var(--line);margin:34px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:22px}.form-grid .field{margin:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:600;line-height:1.6;margin-bottom:9px}.required{color:var(--error);margin-left:4px}.optional{font-size:12px;font-weight:400;color:var(--slate);margin-left:7px}input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;min-width:0;background:var(--paper);border:1px solid #7D8D9A;border-radius:3px;padding:12px 13px;font-size:15px;line-height:1.6;color:var(--ink);min-height:48px;outline-offset:3px}textarea{resize:vertical;min-height:135px;line-height:1.8}select{cursor:pointer}::placeholder{color:var(--slate)}.field-hint{font-size:12px;line-height:1.8;color:var(--slate);margin:9px 0 0}.field-error{font-size:12px;line-height:1.7;color:var(--error);margin-top:6px}.has-error input,.has-error textarea{border-color:var(--error)}.form-note{padding:18px 20px;background:var(--cream);border-left:3px solid var(--factor-cyan);border-radius:2px;font-size:13px;line-height:1.85;color:var(--slate);margin:28px 0 22px}.form-note strong{color:var(--ink);font-weight:600}.form-submit{width:100%}.form-footer{text-align:center;font-size:12px;color:var(--slate);line-height:1.8;margin:14px 0 0}.form-footer a{text-decoration:underline;text-underline-offset:3px}.summary-dialog{border:1px solid var(--line);border-top:4px solid var(--factor-blue);border-radius:var(--radius);width:min(720px,calc(100vw - 32px));max-height:90dvh;padding:36px;color:var(--ink);background:var(--white);overflow:auto}.summary-dialog::backdrop{background:#1A233099}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.dialog-top h2{font-size:30px}.summary-notice{padding:15px 18px;background:var(--cream);border-left:3px solid var(--factor-cyan);font-size:14px;line-height:1.8;color:var(--ink);margin:10px 0 26px}.summary-list{display:grid;grid-template-columns:110px minmax(0,1fr);gap:15px 20px;font-size:15px;line-height:1.8;margin:24px 0}.summary-list dt{color:var(--slate)}.summary-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.summary-dialog .actions{gap:12px}.summary-dialog .btn{font-size:14px;gap:12px}.summary-dialog .text-link{font-size:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:14px 22px;background:var(--ink);color:var(--white);font-size:14px;line-height:1.6;border-radius:3px;z-index:500;opacity:0;pointer-events:none;transition:.18s;max-width:calc(100% - 36px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.not-found{text-align:center;padding:130px 24px}.not-found .num{font-size:100px;line-height:1;font-weight:400;color:var(--factor-blue);letter-spacing:-.07em;margin-bottom:35px}.empty-state{padding:55px 24px;text-align:center;grid-column:1/-1;color:var(--slate)}
/* Footer */
.site-footer{background:var(--ink);color:#D1DBE5;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px}.footer-brand>.brand{margin:-14px 0 15px -14px}.footer-copy{font-size:13px;line-height:1.95;max-width:350px;color:#BBC8D4;margin-bottom:0}.footer-col h3{font-size:14px;font-weight:600;color:var(--white);margin:9px 0 21px;line-height:1.6}.footer-col a{display:block;font-size:13px;line-height:1.8;color:#BBC8D4;margin:12px 0}.footer-col a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}.footer-contact{grid-template-columns:.8fr .8fr 1.1fr 1.6fr;gap:28px;margin-top:34px;padding-top:25px;border-top:1px solid #435060}.footer-contact .company-contact-link{border:0;padding:8px 0;align-content:start;align-items:start}.footer-contact .contact-label{font-size:11px;letter-spacing:.02em;color:#BBC8D4;margin-bottom:6px}.footer-contact .contact-value{color:var(--white);font-size:13px;font-weight:400}.footer-contact .icon{color:#BBC8D4;margin-top:25px}.footer-contact .company-contact-link:hover .contact-value{color:var(--white)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #435060;padding-top:24px;margin-top:28px;font-size:11px;line-height:1.8;color:#BBC8D4}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.preview-label{display:inline-flex;align-items:center;gap:9px}.preview-label:before{content:'';width:5px;height:5px;background:var(--factor-cyan);border-radius:50%}.site-footer a:focus-visible{outline-color:var(--white)}
/* Responsive rhythm: desktop type hierarchy scales down without shrinking interface text. */
@media(min-width:1500px){.hero{padding:94px 0 82px}.hero-art{min-height:540px}.art-bands:before{top:237px}.art-bands:after{top:356px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.desktop-nav{gap:18px;font-size:13px}.header-inner{gap:18px}.brand-lockup{width:196px}.header-cta{font-size:13px;padding:12px 17px;gap:12px}.hero-grid{gap:40px}.hero-art{min-height:490px}.hero h1{font-size:58px}.service-layout{gap:55px}.shinvo-feature{gap:46px}.contact-layout{gap:45px}.expertise-inner{gap:15px;font-size:13px}.expertise-inner>strong{display:none}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.header-cta{margin-left:auto}.header-inner{gap:18px}.brand-lockup{width:216px}.hero-grid{grid-template-columns:1.1fr 1fr;gap:32px}.hero h1{font-size:52px}.hero-art{min-height:470px}.art-logo{width:204px;height:204px}.art-logo img{width:110px}.art-caption strong{font-size:15px}.art-caption span{font-size:9px}.service-layout{grid-template-columns:.75fr 1.3fr;gap:44px}.service-grid{gap:0 25px}.shinvo-feature{grid-template-columns:.9fr 1.2fr;gap:38px}.product-mini-grid{grid-template-columns:1fr 1fr}.product-mini{min-height:155px}.section{padding:84px 0}.scope-layout{gap:42px}.page-hero-grid{grid-template-columns:1.45fr .7fr;gap:45px}.page-hero h1{font-size:46px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-col:last-child{grid-column:2/4;display:flex;flex-wrap:wrap;gap:5px 24px;align-items:center}.footer-col:last-child h3{margin:0 12px 0 0}.footer-col:last-child a{margin:5px 0}.footer-contact{grid-template-columns:1fr 1fr;gap:15px 32px}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:32px}.contact-intro h1{font-size:36px}.form-panel{padding:27px}.interest-options{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .field.full{grid-column:auto}.solution-tabs{gap:32px}.solution-panel{padding:30px}.faq-layout{gap:45px}.page-hero:after{left:36px}}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.site-header{height:84px}.hero{padding:48px 0}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:54px}.hero-copy>p{max-width:650px}.hero-art{min-height:390px}.art-logo{top:47%;width:202px;height:202px}.art-logo img{width:110px}.art-bands:before{top:149px;height:87px}.art-bands:after{top:249px;height:44px}.art-cyan-node{top:80px}.art-caption{bottom:22px}.hero-footnote{margin-top:28px}.expertise-inner{flex-wrap:wrap;justify-content:space-between;gap:17px}.expertise-inner>span{width:28%;font-size:13px}.service-layout{grid-template-columns:1fr;gap:30px}.service-intro p{max-width:560px}.service-intro .text-link{margin-bottom:8px}.shinvo-feature{grid-template-columns:1fr;gap:40px}.product-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding:72px 0}.section-sm{padding:55px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:34px}.section-heading p{max-width:620px;margin-bottom:0}.solution-tabs{grid-template-columns:1fr;gap:24px}.tab-list{flex-direction:row;overflow:auto;border-top:0;gap:8px;padding:3px 3px 12px;scrollbar-width:thin}.solution-tab{white-space:nowrap;padding:13px 16px;border:1px solid var(--line);font-size:15px;gap:8px;flex:none}.solution-tab>.icon{display:none}.solution-tab>span:first-child{width:auto}.solution-tab[aria-selected=true]{background:var(--blue-700);border-color:var(--blue-700);color:var(--white)}.solution-tab[aria-selected=true]>span:first-child{color:var(--white)}.solution-panel{min-height:0}.process-grid{grid-template-columns:1fr 1fr;gap:32px}.insight-grid{gap:25px}.insight-card h3{font-size:22px}.faq-layout{grid-template-columns:1fr;gap:24px}.cta-inner{align-items:flex-start;flex-direction:column;gap:28px}.page-hero-grid{grid-template-columns:1fr}.hero-side{display:none}.page-hero h1{font-size:44px}.page-hero:after{left:24px}.scope-layout{grid-template-columns:1fr;gap:30px}.scope-layout>div:first-child{max-width:640px}.service-photo{max-width:600px}.service-photo .photo-frame{aspect-ratio:16/10}.delivery-grid{grid-template-columns:1fr 1fr}.product-detail-grid{grid-template-columns:1fr;gap:38px}.product-photo{max-width:660px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-intro h1{font-size:42px}.contact-intro>p br{display:none}.contact-intro>p{max-width:600px}.contact-trust{display:none}.contact-details{max-width:640px}.contact-details .company-contact{grid-template-columns:1fr 1fr;gap:0 26px}.contact-details .company-contact-link:nth-last-child(-n+2){grid-column:1/-1}.interest-options{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.form-grid .field.full{grid-column:1/-1}.value-grid{gap:27px}.value-item h3{font-size:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto;display:block}.footer-col:last-child h3{margin:9px 0 21px}.footer-col:last-child a{margin:12px 0}.footer-col:nth-child(3){display:none}.article{max-width:760px}}
@media(max-width:600px){
  body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{gap:14px}.header-inner>.brand{margin-left:-12px}.brand{padding:12px}.brand-lockup{width:182px}.header-cta{display:none}.menu-toggle{margin-left:auto}.site-header{height:82px}.mobile-menu{padding:16px 24px 34px}.mobile-top>.brand{margin-left:-12px}.mobile-top .brand-lockup{width:180px}.brand-reverse .brand-lockup{width:236px}.hero{padding:43px 0 42px}.hero-grid{gap:34px}.hero .eyebrow{font-size:10px;letter-spacing:.11em}.hero h1{font-size:44px;line-height:1.25;margin-bottom:23px}.hero-copy>p{font-size:16px;line-height:1.85}.hero .actions{gap:18px;margin-top:26px}.btn{font-size:14px;padding:13px 18px;gap:17px;min-height:48px}.text-link{font-size:14px;gap:12px}.hero-footnote{font-size:11px;gap:12px}.hero-art{min-height:342px}.art-meta{top:21px;left:22px;right:22px;font-size:8px;letter-spacing:.12em}.art-logo{width:176px;height:176px;top:46%}.art-logo img{width:92px}.art-bands:before{top:125px;height:72px}.art-bands:after{top:209px;height:37px}.art-cyan-node{top:72px;right:35px;width:10px;height:10px}.art-caption{left:22px;right:22px;bottom:21px;padding-top:13px}.art-caption strong{font-size:14px}.art-caption span{font-size:8px}.expertise-inner{gap:17px 10px;padding:20px 0}.expertise-inner>span{font-size:11px;width:30%;gap:7px}.expertise-inner .icon{width:18px;height:18px}.section{padding:58px 0}.section-sm{padding:43px 0}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:18px;gap:10px}.eyebrow:before{width:16px}h2{font-size:30px;line-height:1.4}h3{font-size:25px}.section-heading p{font-size:15px}.service-grid{column-gap:22px}.service-item{padding:24px 0 28px}.service-item-top{margin-bottom:20px}.service-item-top>.icon{width:28px;height:28px}.service-item h3{font-size:20px;line-height:1.5}.service-item p{font-size:14px;margin-right:0;line-height:1.8}.service-arrow{display:none}.service-intro p{font-size:16px}.shinvo-word{font-size:54px}.shinvo-section h2{font-size:32px}.shinvo-copy>p{font-size:16px}.product-mini-grid{grid-template-columns:1fr 1fr;gap:12px}.product-mini{min-height:150px;padding:20px 17px}.product-mini>.icon{margin-bottom:25px;width:25px;height:25px}.product-mini strong{font-size:14px}.product-mini span{font-size:12px}.solution-panel{padding:26px}.solution-panel h3{font-size:26px}.solution-panel>p{font-size:15px}.flow-line{gap:7px}.flow-node{font-size:11px;padding:7px 10px}.process-grid{gap:28px 24px;margin-top:34px}.process-number{margin-bottom:22px}.process-card h3{font-size:21px}.process-card p{font-size:14px}.insight-grid{grid-template-columns:1fr;gap:35px}.insight-card h3{font-size:25px}.insight-card p{font-size:16px}.category{margin-bottom:20px}.insight-card .read{padding-top:10px}.faq-list summary{font-size:16px;padding:22px 30px 22px 0}.faq-list details>p{font-size:15px}.cta-band{padding:45px 0}.cta-inner h2{font-size:29px;line-height:1.45}.cta-inner p{font-size:15px}.page-hero{padding:25px 0 49px}.breadcrumbs{font-size:11px;margin-bottom:32px;gap:7px}.page-hero h1{font-size:36px;line-height:1.4;margin-bottom:21px}.page-hero .lede{font-size:16px;line-height:1.85}.page-hero .actions{margin-top:25px}.page-hero:after{left:20px;width:85px;box-shadow:37px 0 0 var(--factor-green),56px 0 0 var(--factor-cyan)}.service-overview-grid{grid-template-columns:1fr;gap:20px}.overview-card{padding:28px}.overview-card h2{font-size:27px}.overview-card p{font-size:16px}.scope-layout>div>p{font-size:16px}.scope-row{grid-template-columns:28px 1fr;gap:12px;padding:24px 0}.scope-row h3{font-size:23px;line-height:1.4}.scope-row p{font-size:16px}.delivery-grid{grid-template-columns:1fr;gap:0}.delivery-item{font-size:16px}.steps-list{gap:15px}.steps-list>span{font-size:14px}.filters{gap:7px}.filter-btn{font-size:13px;padding:10px 14px;min-height:42px}.filters .result-count{font-size:12px}.product-grid{grid-template-columns:1fr;gap:25px}.product-body{padding:25px}.product-body h3{font-size:26px}.product-body p{font-size:16px}.status-badge{font-size:11px;top:14px;left:14px;padding:7px 10px}.product-note{font-size:13px}.benefit-list li{font-size:16px}.product-photo figcaption,.service-photo figcaption{font-size:12px;gap:5px 12px}.service-photo{margin-top:25px}.solutions-list{gap:8px}.solution-card{grid-template-columns:40px minmax(0,1fr);gap:20px;padding:31px 0}.solution-no{font-size:39px;letter-spacing:-.04em}.solution-card .tiny{display:none}.solution-card h2{font-size:26px;line-height:1.45}.solution-card p{font-size:16px}.related-tags{gap:8px;margin:22px 0}.related-tags a{font-size:12px;padding:7px 11px}.about-statement{font-size:27px;line-height:1.8}.value-grid{grid-template-columns:1fr;gap:23px;margin-top:34px}.value-item h3{font-size:25px;margin:18px 0 13px}.value-item p{font-size:16px}.article h2{font-size:26px;margin-top:38px}.article p,.article li{font-size:17px;line-height:1.9}.article .article-intro{font-size:19px}.article-note{padding:17px 20px}.contact-intro h1{font-size:36px}.contact-intro>p{font-size:16px}.contact-details{margin-top:27px;padding-top:23px}.contact-details h2{font-size:20px}.company-en{font-size:12px;line-height:1.85}.contact-details .company-contact{grid-template-columns:1fr;gap:0}.company-contact-link{padding:14px 0}.company-contact-link .contact-label{font-size:12px}.company-contact-link .contact-value{font-size:15px}.form-panel{padding:26px 20px}.form-step-title{font-size:17px;gap:11px}.interest-options{grid-template-columns:1fr}.interest-choice label{font-size:15px;padding:12px 14px}.form-grid{grid-template-columns:1fr;gap:21px}.form-grid .field.full{grid-column:auto}.form-panel input,.form-panel textarea,.form-panel select{font-size:16px}.form-note{font-size:13px;padding:15px 16px}.form-footer{font-size:12px}.summary-dialog{padding:27px 22px}.dialog-top h2{font-size:25px}.summary-dialog .eyebrow{font-size:9px;letter-spacing:.08em}.summary-list{grid-template-columns:76px minmax(0,1fr);gap:12px;font-size:14px}.summary-notice{font-size:13px;padding:12px 14px}.summary-dialog .actions{align-items:stretch}.summary-dialog .btn{width:100%}.site-footer{padding-top:45px}.footer-grid{gap:26px}.footer-copy{font-size:13px}.footer-col a{font-size:13px}.footer-contact{gap:15px 25px;margin-top:26px;padding-top:22px}.footer-contact .company-contact-link:nth-last-child(-n+2){grid-column:1/-1}.footer-contact .contact-label{font-size:11px}.footer-contact .contact-value{font-size:13px}.footer-bottom{flex-direction:column;align-items:flex-start;font-size:10px;gap:13px;padding-top:22px}.toast{font-size:13px;bottom:20px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.brand-lockup{width:168px}.hero h1{font-size:40px}.hero .actions{align-items:flex-start;flex-direction:column;gap:10px}.expertise-inner>span{font-size:10px}.service-grid{grid-template-columns:1fr}.service-item h3{font-size:23px}.art-caption strong{font-size:12px}.art-caption span{font-size:7px}.page-hero h1{font-size:33px}.contact-intro h1{font-size:33px}.mobile-top .brand-lockup{width:162px}.filters{gap:6px}.filter-btn{padding:10px 11px}.filters .result-count{width:100%;margin:6px 0 0}.form-panel{padding:23px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* AI-generated quality and security artwork; retain the complete 4:3 composition. */
.hero-art.hero-art-image{min-width:0;min-height:0;aspect-ratio:4/3}
.hero-art-image .hero-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}

/* Shared solution artwork preserves the complete composition in every placement. */
.solution-art{width:100%;min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;background:var(--paper);border-radius:var(--radius)}
.solution-art>img{display:block;width:100%;height:100%;object-fit:contain}
.solutions-list .solution-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:56px;align-items:center}
.solutions-list .solution-card>div{min-width:0}
.solution-card-index{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.solution-card-index .solution-no{font-size:30px}
.solution-card .solution-card-index .tiny{display:block;margin:0}
.solution-art--detail{max-width:600px;margin-top:28px}
.solution-art--panel{max-width:340px;margin:0 auto 28px}
@media(max-width:800px){.solutions-list .solution-card{grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}}

/* Only the five section landing pages opt into this illustrated hero. */
.page-hero--illustrated{padding-bottom:56px}
.page-hero--illustrated .breadcrumbs{margin-bottom:28px}
.page-hero--illustrated .page-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.page-hero--illustrated .page-hero-grid>div{min-width:0}
.section-hero-art{width:100%;min-width:0;margin:0}
.section-hero-image{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--paper);border-radius:var(--radius)}
.section-hero-image>img{display:block;width:100%;height:100%;object-fit:contain}
.section-hero-art figcaption{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);color:var(--slate)}
.section-hero-art figcaption .tiny{display:block;font-size:10px;line-height:1.6;font-weight:600;letter-spacing:.08em;color:var(--blue-700)}
.section-hero-art figcaption p{margin:8px 0 0;font-size:14px;line-height:1.8}
@media(max-width:1100px){.page-hero--illustrated .page-hero-grid{gap:36px}}
@media(max-width:800px){.page-hero--illustrated .page-hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}.section-hero-art{max-width:600px;margin-inline:auto}}
@media(max-width:600px){.page-hero--illustrated{padding-bottom:42px}.page-hero--illustrated .breadcrumbs{margin-bottom:24px}}

/* Inquiry acknowledgement, request progress, and confirmed receipt. */
.field .privacy-acknowledgement{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400;line-height:1.8;cursor:pointer}
.privacy-acknowledgement input[type=checkbox]{width:19px;height:19px;min-width:19px;flex:0 0 19px;margin:3px 0 0;accent-color:var(--blue-700)}
.privacy-acknowledgement>span{min-width:0}
.privacy-field .field-hint{margin-left:31px}
.privacy-field .field-hint a{color:var(--blue-700);text-decoration:underline;text-underline-offset:3px}
.summary-return{border-top:0;border-left:0;border-right:0;background:none;padding-inline:0}
.summary-dialog button:disabled,.form-submit:disabled{opacity:.6;cursor:wait}
.inquiry-submit-error{padding:16px 18px;margin:24px 0 0;border:1px solid var(--error);border-left-width:3px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.inquiry-send-status{min-height:1.8em;margin:16px 0;font-size:14px;line-height:1.8;color:var(--slate)}
.receipt-notice{background:var(--green-50);border-color:var(--green-700)}
.receipt-reference{font-weight:700;color:var(--blue-900);letter-spacing:.02em}
.receipt-brief{padding:18px 0;margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.receipt-brief summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--blue-700)}

/* Company certification: typography and brand icon, not a certifier seal. */
.certification-badge{display:flex;align-items:center;gap:14px;margin-top:30px;padding:17px 20px;border:1px solid var(--line);border-left:3px solid var(--factor-green);background:var(--paper);max-width:440px;color:var(--ink);text-decoration:none}
.certification-badge>.icon{flex-shrink:0;width:26px;height:26px;color:var(--blue-700)}
.certification-badge>span{flex:1;min-width:0}.certification-badge strong{display:block;font-size:18px;letter-spacing:.035em}.certification-badge>span>span{display:block;font-size:13px;margin-top:4px;color:var(--slate)}
.certification-badge:hover{border-color:var(--factor-blue)}.certification-badge:focus-visible{outline:2px solid var(--blue-700);outline-offset:4px}
.certification-band{background:var(--cream);border-block:1px solid var(--line)}.certification-inner{display:flex;gap:30px;align-items:center;padding-block:36px}.certification-mark{display:flex;gap:14px;align-items:center;flex-shrink:0;color:var(--blue-700);padding-right:30px;border-right:1px solid var(--line)}.certification-mark>.icon{width:36px;height:36px}.certification-mark span{font-size:12px;line-height:1.25}.certification-mark strong{font-size:32px;letter-spacing:.02em}.certification-copy{flex:1;min-width:0}.certification-copy>.eyebrow{font-size:10px;margin:0 0 10px;letter-spacing:.1em}.certification-copy>h2{font-size:clamp(21px,2vw,27px);line-height:1.45;margin:0 0 10px}.certification-copy>p:last-child{font-size:15px;color:var(--slate);margin:0}.certification-inner>.text-link{flex-shrink:0}
.footer-certification{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6;color:inherit;margin:26px 0}.footer-certification>.icon{width:20px;height:20px;flex-shrink:0}
@media(max-width:1000px){.certification-inner{flex-wrap:wrap}.certification-copy{flex-basis:60%}.certification-inner>.text-link{margin-left:auto}}
@media(max-width:600px){.certification-inner{gap:22px;padding-block:28px;align-items:flex-start}.certification-mark{border-right:0;padding-right:0}.certification-copy{flex-basis:100%}.certification-inner>.text-link{margin-left:0}.certification-badge{padding:15px 14px;gap:10px}.certification-badge>span>span{font-size:12px}.certification-badge>.icon{width:22px;height:22px}.footer-certification{align-items:flex-start}}

/* Defer layout of long, below-fold sections until near the viewport. */
main > section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 700px}



/* Keep the brand heading face; native CJK body text avoids downloading a full font for every paragraph. */
h1{font-family:Inter,'Noto Sans TC','Microsoft JhengHei',sans-serif}

.case-card{display:grid;grid-template-columns:1fr 1.12fr;border:1px solid var(--line);background:var(--white)}.case-cover{padding:36px;background:var(--blue-50);display:flex;flex-direction:column;justify-content:center;gap:22px;min-width:0}.case-screen{width:88%;max-width:360px;margin:auto;border:2px solid var(--blue-900);background:var(--paper);transform:rotate(-3deg);box-shadow:14px 14px 0 var(--factor-cyan)}.screen-top{display:flex;gap:5px;padding:10px;border-bottom:1px solid var(--blue-900)}.screen-top i{width:5px;height:5px;background:var(--blue-700)}.screen-play{background:var(--blue-900);color:var(--paper);margin:18px;text-align:center;padding:18px;font-size:36px}.screen-bars{display:flex;gap:8px;padding:0 18px 18px}.screen-bars i{height:25px;background:var(--factor-green);flex:1}.screen-bars i:nth-child(2){background:var(--factor-blue)}.screen-bars i:nth-child(3){background:var(--factor-cyan)}.case-cover-caption{font-size:12px;color:var(--slate);margin-top:10px}.case-card-copy{padding:40px}.case-card-copy h3{font-size:30px;margin:18px 0 0}.case-subtitle{font-weight:600;color:var(--blue-900);margin:4px 0 18px}.case-card-copy>p:not(.case-subtitle){color:var(--slate)}.case-tags{display:flex;gap:8px;flex-wrap:wrap}.case-tags span{font-size:13px;padding:5px 10px;background:var(--green-50);color:var(--green-700)}.case-filter-panel{display:flex;align-items:end;gap:24px;padding:24px 0;border-block:1px solid var(--line);flex-wrap:wrap}.case-filter-panel label{display:grid;gap:8px;font-size:14px;color:var(--slate);flex:1;min-width:200px}.case-filter-panel select{padding:12px 40px 12px 14px;border:1px solid #7D8D9A;background:var(--paper);color:var(--ink);width:100%;border-radius:var(--radius)}.case-filter-panel button{min-height:52px}.case-empty{padding:60px 24px;background:var(--cream);text-align:center}.case-detail-top{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.case-detail-hero h1{font-size:clamp(32px,3.8vw,54px);line-height:1.3}.case-detail-hero h1>span{display:block;font-size:.72em;margin-top:18px;font-weight:500}.case-team-art{margin:0}.case-team-art img{width:100%;height:auto}.case-team-art figcaption{font-size:12px;color:var(--slate);text-align:right}.case-facts{display:grid;grid-template-columns:1fr 1fr .7fr 1.7fr;border-top:1px solid var(--line);padding-top:24px;gap:24px;margin:40px 0 0}.case-facts dt{font-size:13px;color:var(--slate)}.case-facts dd{margin:8px 0 0;font-size:15px}.case-article{max-width:1160px}.case-notice{font-size:14px;color:var(--slate);padding:20px 24px;background:var(--cream);border-left:3px solid var(--factor-cyan);margin:36px 0}.case-section{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;padding:60px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.case-section h2{font-size:28px;line-height:1.5;margin-top:12px}.case-section-body p:first-child{margin-top:0}.case-section-body p{color:var(--slate)}.case-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-pair-grid h3{font-size:20px;margin:0 0 10px}.case-pair-grid p{font-size:16px;margin:0}.case-architecture{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 28px;padding:24px;background:var(--blue-50)}.arch-path{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:15px}.arch-path>span{background:var(--paper);padding:16px 12px;border:1px solid var(--line);width:100%}.arch-path .arch-store{border-bottom:3px solid var(--factor-green)}.arch-path b{color:var(--blue-700)}.arch-path small,.arch-output small{font-size:12px}.arch-output{grid-column:1/-1;background:var(--blue-900);color:var(--paper);padding:20px;text-align:center;font-size:15px}.case-architecture figcaption{grid-column:1/-1;font-size:12px;color:var(--slate)}.case-scope{padding-left:22px;line-height:2}.case-related{display:grid;gap:22px}.case-source{font-size:14px;padding:32px 0 60px;color:var(--slate)}.case-source a{color:var(--blue-700);text-decoration:underline}.case-featured{background:var(--cream)}
@media(min-width:1101px){.desktop-nav{gap:20px}.desktop-nav>a,.nav-wrap>a{font-size:14px}.header-inner{gap:20px}}
@media(max-width:800px){.case-card,.case-detail-top,.case-section{grid-template-columns:1fr}.case-section{gap:20px;padding:36px 0}.case-detail-top{gap:24px}.case-facts{grid-template-columns:1fr 1fr}.case-card-copy{padding:28px}.case-cover{padding:28px}.case-team-art{max-width:520px;margin:auto}.case-pair-grid{gap:24px}.case-section h2{margin:8px 0}.case-architecture{padding:16px;gap:12px}}
@media(max-width:500px){.case-pair-grid{grid-template-columns:1fr}.case-filter-panel{gap:16px}.case-filter-panel label{min-width:100%}.case-filter-panel button{width:100%}.case-architecture{grid-template-columns:1fr}.arch-output,.case-architecture figcaption{grid-column:1}.arch-path+.arch-path{border-top:1px solid var(--line);padding-top:20px}.case-detail-hero h1{font-size:34px}.case-facts{gap:20px}.case-card-copy{padding:24px}}
/* Case library: reuse the original case layout for six archived projects. */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.case-grid .case-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-width:0}.case-grid .case-cover{padding:20px;min-height:245px;align-items:center;justify-content:center;gap:10px}.case-client-mark{width:210px;height:210px;object-fit:contain}.case-grid .case-cover-caption{margin:0;text-align:center}.case-grid .case-screen{width:230px;max-width:85%;margin:24px auto}.case-grid .case-card-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.case-grid .case-card-copy>.eyebrow{margin-bottom:16px}.case-grid .case-card-copy>p:not(.case-subtitle){flex:1}.case-grid .case-card-copy h3{font-size:28px}.case-grid .case-card-copy>.text-link{margin-top:10px}.case-grid-featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-grid-featured .case-card-copy{padding:24px}.case-grid-featured .case-card-copy h3{font-size:25px}.case-grid-featured .case-subtitle{font-size:17px}.case-grid-featured .case-card-copy>p:not(.case-subtitle){font-size:15px}.case-functional-flow{display:block}.case-flow-path{display:flex;flex-direction:column;list-style:none;padding:0;margin:0 0 28px;gap:24px;text-align:center;font-size:16px}.case-flow-path li{position:relative;background:var(--paper);border:1px solid var(--line);padding:14px 18px}.case-flow-path li+li:before{content:'↓';position:absolute;top:-27px;left:calc(50% - 6px);color:var(--blue-700)}.case-flow-path li:last-child{border-bottom:3px solid var(--factor-green)}.case-functional-flow figcaption{padding-top:12px;border-top:1px solid var(--line)}.case-original-diagram{margin:28px 0}.case-original-diagram summary{color:var(--blue-700);cursor:pointer;font-size:15px}.case-original-diagram figure{margin:18px 0}.case-original-diagram img{height:auto;width:100%;background:#111}.case-original-diagram figcaption{font-size:12px;color:var(--slate)}
@media(max-width:1100px){.case-grid-featured{grid-template-columns:1fr}.case-grid-featured .case-card{grid-template-columns:1fr 1.25fr;grid-template-rows:auto}.case-grid-featured .case-cover{min-width:0}.case-grid-featured .case-card-copy{padding:30px}}
@media(max-width:700px){.case-grid{grid-template-columns:1fr}.case-grid-featured .case-card{grid-template-columns:1fr}.case-grid .case-card-copy{padding:24px}.case-grid .case-cover{min-height:225px}.case-grid{gap:24px}.case-flow-path{font-size:15px}}
.case-grid .case-cover{height:290px;min-height:0}.case-grid .case-screen{width:215px;margin:8px auto}.case-grid .case-card{grid-template-rows:290px 1fr}
@media(max-width:1100px) and (min-width:701px){.case-grid-featured .case-card{grid-template-rows:auto}.case-grid-featured .case-cover{height:100%;min-height:290px}}
@media(max-width:700px){.case-grid .case-cover{height:260px}.case-client-mark{width:190px;height:190px}.case-grid .case-card{grid-template-rows:260px 1fr}}
.case-grid .case-project-cover{display:block;width:100%;height:220px;object-fit:cover;object-position:top;border:1px solid var(--line)}.case-project-art{margin:0;min-width:0}.case-project-art>a{display:block;border:1px solid var(--line);overflow:hidden;background:#111}.case-project-art img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top}.case-project-art figcaption{font-size:12px;color:var(--slate);margin-top:12px;text-align:right}.case-project-art figcaption a{color:var(--blue-700);text-decoration:underline}.case-screenshot-details{margin:32px 0 48px;border:1px solid var(--line);padding:20px 24px;background:var(--white)}.case-screenshot-details summary{cursor:pointer;color:var(--blue-700);font-size:16px;font-weight:500}.case-screenshot-details figure{margin:24px 0 0}.case-screenshot-details img{width:100%;height:auto}.case-screenshot-details figcaption{font-size:13px;color:var(--slate);margin-top:14px}@media(max-width:700px){.case-grid .case-project-cover{height:190px}.case-screenshot-details{padding:18px}.case-project-art figcaption{font-size:12px}}
.case-project-gallery{margin:40px 0 48px}.case-project-gallery>h2{font-size:28px;margin-bottom:24px}.case-project-gallery>figure{margin:0;background:var(--white);border:1px solid var(--line);padding:16px}.case-project-gallery>figure img{width:100%;height:auto}.case-project-gallery figcaption{font-size:13px;color:var(--slate);margin-top:14px}
.case-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-gallery-item{border:1px solid var(--line);background:var(--white);min-width:0;align-self:start}.case-gallery-preview{display:block;background:var(--cream);border-bottom:1px solid var(--line)}.case-gallery-preview img{display:block;width:100%;height:260px;object-fit:cover;object-position:top}.case-gallery-copy{padding:22px}.case-gallery-copy h3{font-size:20px;margin:0 0 10px}.case-gallery-copy>p{font-size:15px;color:var(--slate)}.case-original-link{font-size:14px;color:var(--blue-700);text-decoration:underline}.case-gallery-copy .case-screenshot-details{padding:14px 0 0;margin:18px 0 0;border:0;border-top:1px solid var(--line)}.case-gallery-copy .case-screenshot-details summary{font-size:14px}.case-gallery-copy .case-screenshot-details img{margin-top:16px;width:100%;height:auto}.case-project-gallery>p{font-size:15px;margin-bottom:28px}@media(max-width:700px){.case-gallery-grid{grid-template-columns:1fr}.case-gallery-preview img{height:220px}.case-gallery-copy{padding:20px}.case-project-gallery>h2{font-size:25px}}

/* Preserve complete mobile app screenshots. */
.case-project-art-portrait>a{background:var(--cream);padding:24px}
.case-project-art-portrait img{display:block;width:100%;height:460px;aspect-ratio:auto;object-fit:contain;object-position:center}
.case-grid .case-project-cover-portrait{object-fit:contain;object-position:center;background:var(--paper)}
.case-gallery-portrait .case-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-gallery-portrait .case-gallery-preview{display:block;padding:20px;background:var(--cream)}
.case-gallery-portrait .case-gallery-preview img{display:block;height:400px;object-fit:contain;object-position:center}
.case-more-images{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.case-more-images>summary{cursor:pointer;font-weight:600;color:var(--webtext-blue,#216487);padding:12px 0}
.case-more-images[open]>.case-gallery-grid{margin-top:20px}
@media(max-width:1000px){.case-gallery-portrait .case-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.case-gallery-portrait .case-gallery-grid{grid-template-columns:minmax(0,1fr)}.case-project-art-portrait img{height:420px}.case-gallery-portrait .case-gallery-preview img{height:440px}}

.client-section-nav{padding-block:24px 0}.client-section-nav nav{display:flex;gap:28px;border-bottom:1px solid var(--line)}.client-section-nav a{padding:12px 0 16px;font-weight:600;color:var(--slate);border-bottom:3px solid transparent}.client-section-nav a[aria-current="page"]{color:var(--blue-700);border-color:var(--factor-blue)}
.client-preview{background:var(--cream)}.client-logo-grid{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0}.client-logo-card{min-width:0;background:var(--white);border:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;align-items:center;text-align:center}.client-logo-image{display:flex;align-items:center;justify-content:center;width:100%;height:76px;margin-bottom:20px}.client-logo-image img{display:block;width:100%;height:100%;object-fit:contain}.client-logo-card p{font-size:13px;line-height:1.65;margin:0;overflow-wrap:anywhere;color:var(--slate)}
.client-directory{border-top:1px solid var(--line)}.client-directory .section-heading{align-items:end}.client-search{width:min(380px,100%)}.client-search label{font-size:14px;display:block;margin-bottom:10px;font-weight:600}.client-search input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:0;padding:14px 16px;font:inherit;font-size:15px;color:var(--ink)}.client-search input:focus-visible{outline:2px solid var(--blue-700);outline-offset:3px}.client-directory-status{margin:0 0 28px}.client-name-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;column-gap:30px}.client-name-grid li{display:flex;gap:14px;align-items:center;min-width:0;padding:19px 0;min-height:76px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7;overflow-wrap:anywhere}.client-name-grid li>span{min-width:0}.client-name-grid img{width:64px;height:38px;object-fit:contain;flex-shrink:0}.client-directory-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:36px}.client-directory-actions [hidden]{display:none}.client-logo-note{font-size:12px;line-height:1.7;margin:36px 0 0;color:var(--slate)}
@media(max-width:1100px){.client-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.client-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-directory .section-heading{align-items:start;flex-direction:column;gap:28px}}
@media(max-width:600px){.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-logo-card{padding:20px 12px 16px}.client-logo-image{height:64px;margin-bottom:16px}.client-logo-card p{font-size:12px}.client-name-grid{grid-template-columns:minmax(0,1fr)}.client-name-grid li{padding:17px 0;font-size:14px;min-height:68px}.client-section-nav{padding-top:12px}.client-directory-actions{gap:20px}}

/* Preserve source alpha and letterforms; render white-logo variants in black. */
.client-logo-image.client-logo-monochrome{background:transparent;padding:0}.client-logo-image.client-logo-monochrome img,.client-name-grid img.client-logo-monochrome{filter:brightness(0);background:transparent;padding:0}

.client-order-note{font-size:14px;line-height:1.8;color:var(--slate);margin:0 0 18px;max-width:850px}.client-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:36px}.client-pagination[hidden]{display:none}.client-pagination button{min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--white);color:var(--blue-700);font:inherit;font-size:14px;padding:10px 13px;cursor:pointer}.client-pagination button[aria-current="page"]{background:var(--blue-700);border-color:var(--blue-700);color:var(--white);font-weight:700}.client-pagination button:disabled{opacity:.45;cursor:default}.client-pagination button:not(:disabled):hover{border-color:var(--blue-700)}.client-pagination button:focus-visible{outline:2px solid var(--blue-700);outline-offset:3px}.client-page-gap{padding:0 3px;color:var(--slate)}.client-directory{scroll-margin-top:110px}#client-directory-title:focus{outline:0}
@media(max-width:600px){.client-pagination{gap:6px;justify-content:flex-start}.client-pagination button{padding-inline:11px}.client-order-note{font-size:13px}}
