@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:100 900;font-display:optional;src:url('/assets/fonts/noto-content.woff2?v=055e360798') format('woff2');unicode-range:U+00A9,U+00B7,U+2013,U+2014,U+2019,U+2026,U+2161,U+2190,U+2192,U+2193,U+2194,U+2212,U+25B6,U+3000,U+300A,U+300B,U+3010,U+3011,U+30FB,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E14,U+4E26,U+4E2A,U+4E32,U+4E45,U+4E4B,U+4E58,U+4E5F,U+4E88,U+4E8C,U+4E92,U+4E94,U+4E9B,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4ECB,U+4ECD,U+4ED6,U+4EE3,U+4EE4,U+4EE5,U+4EF0,U+4EF6,U+4EFB,U+4EFD,U+4F01,U+4F30,U+4F34,U+4F38,U+4F3C,U+4F46,U+4F48,U+4F4D,U+4F4F,U+4F55,U+4F60,U+4F73,U+4F75,U+4F7F,U+4F86,U+4F8B,U+4F9B,U+4F9D,U+4FBF,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+501F,U+503C,U+5047,U+505A,U+5065,U+5074,U+5076,U+5099,U+50AC,U+50B3,U+50C5,U+50F1,U+50F9,U+5100,U+511F,U+512A,U+5143,U+5145,U+5148,U+5149,U+514D,U+5152,U+5168,U+5169,U+516B,U+516C,U+516D,U+5171,U+5176,U+5177,U+5178,U+517C,U+518D,U+51AC,U+5200,U+5206,U+5207,U+520A,U+5217,U+521D,U+5224,U+5225,U+5229,U+522A,U+5236,U+5237,U+523B,U+5247,U+5283,U+5287,U+529B,U+529F,U+52A0,U+52A9,U+52AA,U+52C1,U+52D5,U+52DE,U+52DF,U+52E2,U+5305,U+5316,U+533F,U+5340,U+5341,U+534A,U+5354,U+5357,U+535A,U+5361,U+5370,U+5371,U+5373,U+5375,U+537B,U+53BB,U+53C3,U+53CB,U+53CD,U+53D6,U+53D7,U+53E3,U+53E4,U+53E5,U+53E6,U+53EA,U+53F3,U+53F8,U+5404,U+540C,U+540D,U+5411,U+5426,U+5427,U+542B,U+5438,U+5448,U+547C,U+547D,U+548C,U+54C8,U+54E1,U+54EA,U+552E,U+552F,U+5546,U+554F,U+555F,U+5584,U+559C,U+55AA,U+55AE,U+55CE,U+5609,U+561B,U+5668,U+56DB,U+56DE,U+56E0,U+56F0,U+56FA,U+570B,U+570D,U+5712,U+5716,U+571F,U+5728,U+5730,U+5740,U+5747,U+578B,U+57D4,U+57D5,U+57DF,U+57F7,U+57FA,U+5802,U+5831,U+5854,U+586B,U+5883,U+589E,U+58EB,U+590F,U+5916,U+591A,U+591C,U+5922,U+5925,U+5927,U+5929,U+592A,U+5931,U+594F,U+5951,U+5957,U+5976,U+597D,U+5982,U+599D,U+59D3,U+59D4,U+5A92,U+5ABD,U+5B30,U+5B50,U+5B57,U+5B58,U+5B63,U+5B69,U+5B78,U+5B83,U+5B87,U+5B88,U+5B89,U+5B8C,U+5B98,U+5B9A,U+5B9C,U+5BA3,U+5BA4,U+5BB6,U+5BC4,U+5BC6,U+5BCC,U+5BDF,U+5BE9,U+5BEB,U+5BEE,U+5C01,U+5C07,U+5C08,U+5C0A,U+5C0B,U+5C0D,U+5C0F,U+5C11,U+5C1A,U+5C31,U+5C3A,U+5C3C,U+5C3E,U+5C40,U+5C45,U+5C51,U+5C55,U+5C65,U+5C6C,U+5D0E,U+5DE2,U+5DE5,U+5DE6,U+5DEE,U+5DF1,U+5DF2,U+5DF7,U+5E03,U+5E0C,U+5E33,U+5E36,U+5E38,U+5E45,U+5E55,U+5E6B,U+5E73,U+5E74,U+5E7E,U+5E84,U+5E8F,U+5E95,U+5E9C,U+5EA6,U+5EA7,U+5EB7,U+5ECA,U+5EDF,U+5EF6,U+5EFA,U+5F0F,U+5F15,U+5F35,U+5F37,U+5F48,U+5F4E,U+5F69,U+5F70,U+5F7C,U+5F85,U+5F88,U+5F8B,U+5F91,U+5F97,U+5FA9,U+5FAE,U+5FB7,U+5FC3,U+5FC5,U+5FE0,U+5FEB,U+600E,U+601D,U+6027,U+6050,U+606F,U+6089,U+609A,U+60C5,U+611B,U+611F,U+614B,U+6162,U+6167,U+616E,U+6176,U+61B6,U+61C9,U+6230,U+6232,U+6234,U+623F,U+6240,U+624B,U+624D,U+6253,U+627F,U+6280,U+628A,U+6293,U+6295,U+6297,U+62BD,U+62C6,U+62C9,U+62D2,U+62D4,U+62D6,U+62DB,U+62EC,U+62F3,U+6301,U+6307,U+6309,U+6311,U+6349,U+6350,U+6355,U+6388,U+6392,U+63A1,U+63A5,U+63A7,U+63A8,U+63AA,U+63CF,U+63D0,U+63DB,U+63ED,U+640D,U+641C,U+642D,U+6436,U+6458,U+6469,U+64C7,U+64CA,U+64CD,U+64D4,U+64DA,U+64F7,U+64FA,U+6524,U+652F,U+6536,U+6539,U+653B,U+653F,U+6548,U+6551,U+6558,U+6559,U+6563,U+6578,U+6587,U+6599,U+65B7,U+65B9,U+65BD,U+65C1,U+65C5,U+65CF,U+65E2,U+65E5,U+65E9,U+660E,U+6613,U+661F,U+6625,U+666F,U+6674,U+667A,U+6696,U+6697,U+66A8,U+66F3,U+66F8,U+66FF,U+6700,U+6703,U+6708,U+670B,U+671B,U+671D,U+6728,U+672C,U+6750,U+6751,U+675F,U+6771,U+677E,U+6790,U+6797,U+679C,U+67B6,U+67D0,U+67D3,U+67E5,U+6817,U+6821,U+6838,U+6843,U+6846,U+6848,U+684C,U+6885,U+6897,U+689D,U+68AD,U+694A,U+695A,U+696D,U+69CB,U+6A02,U+6A11,U+6A13,U+6A19,U+6A21,U+6A23,U+6A5F,U+6A6B,U+6A94,U+6AA2,U+6B0A,U+6B3E,U+6B61,U+6B62,U+6B63,U+6B64,U+6B65,U+6B67,U+6B72,U+6B77,U+6B78,U+6B7B,U+6BBC,U+6BD2,U+6BD4,U+6BDB,U+6C11,U+6C1B,U+6C23,U+6C34,U+6C5F,U+6C7A,U+6C92,U+6CBB,U+6CC1,U+6CE2,U+6CE8,U+6D3D,U+6D41,U+6D77,U+6D88,U+6D89,U+6DF1,U+6DF7,U+6E05,U+6E1B,U+6E2C,U+6E2F,U+6E56,U+6E67,U+6E90,U+6E96,U+6E9D,U+6EAA,U+6EAB,U+6EFF,U+6F01,U+6F06,U+6F2B,U+6FC3,U+700F,U+707D,U+7126,U+7136,U+7167,U+719F,U+71C8,U+71DF,U+722D,U+723E,U+7246,U+7269,U+7279,U+72C0,U+7387,U+73A9,U+73BB,U+7403,U+7406,U+7455,U+7483,U+74B0,U+74F6,U+74F7,U+7515,U+7522,U+7528,U+7530,U+7559,U+7570,U+7576,U+75B5,U+75C5,U+75DB,U+75E0,U+764C,U+767D,U+767E,U+7686,U+76AE,U+76CA,U+76DB,U+76E4,U+76EE,U+76F4,U+76F8,U+7701,U+7737,U+773C,U+773E,U+77AC,U+77E5,U+77ED,U+77F3,U+7814,U+7834,U+78BA,U+78BC,U+78C5,U+793E,U+7948,U+7956,U+795E,U+7968,U+7981,U+798F,U+79AE,U+79C1,U+79CB,U+79D1,U+79D2,U+79D8,U+79DF,U+79FB,U+7A05,U+7A0B,U+7A0D,U+7A2E,U+7A31,U+7A3B,U+7A3F,U+7A76,U+7A7A,U+7A7F,U+7A81,U+7A97,U+7ACB,U+7AD9,U+7AE0,U+7AE5,U+7AF6,U+7AF9,U+7AFF,U+7B26,U+7B2C,U+7B46,U+7B49,U+7B4B,U+7B54,U+7B56,U+7B97,U+7BA1,U+7BB1,U+7BC0,U+7BC7,U+7BE9,U+7C21,U+7C3D,U+7CBE,U+7CFB,U+7D00,U+7D04,U+7D0D,U+7D20,U+7D30,U+7D39,U+7D42,U+7D44,U+7D50,U+7D55,U+7D66,U+7D93,U+7D9C,U+7DA0,U+7DAD,U+7DB2,U+7DD2,U+7DDA,U+7DE8,U+7DF4,U+7E23,U+7E2E,U+7E3D,U+7E54,U+7E6B,U+7E7C,U+7E8C,U+7F3A,U+7F69,U+7F6E,U+7F8E,U+7FA4,U+7FA9,U+7FD2,U+8003,U+8005,U+800C,U+805A,U+805E,U+8072,U+807D,U+80A1,U+80B2,U+80CC,U+8166,U+8173,U+81C9,U+81EA,U+81F4,U+81FA,U+8208,U+822A,U+822C,U+823A,U+824B,U+8272,U+82B1,U+82D7,U+82E5,U+82E6,U+82F1,U+8349,U+8352,U+83EF,U+842C,U+843D,U+8457,U+8490,U+849C,U+84C4,U+84CB,U+84EE,U+85CD,U+85DD,U+85FA,U+8655,U+865B,U+865F,U+8679,U+87A2,U+87BA,U+884C,U+884D,U+8853,U+885D,U+8868,U+8882,U+88C1,U+88DC,U+88DD,U+88E1,U+8907,U+8972,U+8986,U+898F,U+89AA,U+89BA,U+89BD,U+89D2,U+89E3,U+8A00,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A13,U+8A17,U+8A18,U+8A2A,U+8A2D,U+8A34,U+8A3B,U+8A55,U+8A5E,U+8A62,U+8A66,U+8A71,U+8A72,U+8A73,U+8A8C,U+8A8D,U+8A95,U+8A9E,U+8AA0,U+8AA4,U+8AAA,U+8AB0,U+8ABF,U+8AC7,U+8ACB,U+8AD6,U+8AEE,U+8AFE,U+8B1D,U+8B49,U+8B58,U+8B70,U+8B77,U+8B80,U+8B8A,U+8C6A,U+8C8C,U+8CA0,U+8CA1,U+8CA9,U+8CAC,U+8CB7,U+8CBB,U+8CBC,U+8CBF,U+8CC7,U+8CE0,U+8CFC,U+8CFD,U+8D08,U+8D70,U+8D77,U+8D85,U+8D8A,U+8DB3,U+8DDD,U+8DDF,U+8DE8,U+8DEF,U+8E64,U+8EAB,U+8ECA,U+8EF8,U+8F03,U+8F14,U+8F29,U+8F2A,U+8F38,U+8F44,U+8F49,U+8FA6,U+8FB2,U+8FCE,U+8FD4,U+8FED,U+8FF0,U+8FFD,U+9001,U+9006,U+900F,U+9010,U+9014,U+9019,U+901A,U+901F,U+9020,U+9023,U+9031,U+903E,U+9047,U+904A,U+904B,U+9053,U+9054,U+9055,U+905E,U+9060,U+9069,U+906D,U+9072,U+9078,U+907F,U+9080,U+9084,U+908A,U+90A3,U+90E8,U+90F5,U+9109,U+914D,U+9152,U+9192,U+91CF,U+91D0,U+91D1,U+91DD,U+929C,U+92B7,U+9304,U+932F,U+9375,U+9396,U+93C8,U+93E1,U+9418,U+9435,U+9577,U+9589,U+9593,U+95A3,U+95B1,U+95CA,U+9632,U+9650,U+9662,U+9664,U+9676,U+9678,U+9686,U+968E,U+969B,U+969C,U+96A8,U+96AA,U+96B1,U+96C4,U+96C6,U+96D5,U+96D9,U+96E2,U+96E3,U+96FB,U+9732,U+9738,U+9748,U+9769,U+97F3,U+97FF,U+9802,U+9805,U+9806,U+9808,U+9818,U+983B,U+984C,U+984D,U+9858,U+985E,U+9867,U+986F,U+9918,U+9928,U+994B,U+99AC,U+99D5,U+99DB,U+9A0E,U+9A57,U+9A5A,U+9A5F,U+9AA8,U+9AD4,U+9AD8,U+9AEE,U+9BAE,U+9DF9,U+9EB5,U+9EBC,U+9ED1,U+9F4A,U+9F63,U+FF01,U+FF08,U+FF09,U+FF0B,U+FF0F,U+FF1A,U+FF1B,U+FF1F,U+FF5C}
@font-face{font-family:'Noto Sans TC Display';font-style:normal;font-weight:100 900;font-display:optional;src:url('/assets/fonts/noto-critical.woff2?v=b5869a8d29') format('woff2');unicode-range:U+00D7,U+2197,U+3001,U+3002,U+300C,U+300D,U+4E00,U+4E16,U+4E2D,U+4E3B,U+4E86,U+4E8B,U+4EA4,U+4ED8,U+4F5C,U+500B,U+5011,U+505C,U+50CF,U+5165,U+5167,U+51FA,U+5230,U+524D,U+526A,U+5275,U+52D9,U+5317,U+539F,U+53CA,U+53EF,U+53F0,U+5408,U+544A,U+54C1,U+5718,U+57CE,U+5834,U+59CB,U+5BA2,U+5BB9,U+5BE6,U+5C0E,U+5E02,U+5EAB,U+5EE3,U+5F62,U+5F71,U+5F80,U+5F8C,U+5F9E,U+5FF5,U+60F3,U+610F,U+6210,U+6211,U+6216,U+6236,U+627E,U+62CD,U+63A2,U+64AD,U+651D,U+653E,U+6545,U+6574,U+65B0,U+65BC,U+6620,U+662F,U+6642,U+66AB,U+66F4,U+66FE,U+6709,U+670D,U+671F,U+672A,U+683C,U+6982,U+6B21,U+6BB5,U+6BCF,U+6C42,U+6CB9,U+6CD5,U+6D3B,U+6F14,U+7063,U+70BA,U+7121,U+7247,U+7248,U+724C,U+73FE,U+751F,U+7531,U+754C,U+7565,U+756B,U+767C,U+7684,U+770B,U+771F,U+793A,U+7BC4,U+7D22,U+7D61,U+7D71,U+804A,U+806F,U+80FD,U+81F3,U+8207,U+88AB,U+88FD,U+8981,U+898B,U+8996,U+89C0,U+8B93,U+8C61,U+8CEA,U+8DF3,U+8F09,U+8F2F,U+8FD1,U+9032,U+904E,U+90FD,U+91CD,U+91CE,U+958B,U+95DC,U+968A,U+9700,U+975E,U+9760,U+9762,U+9801,U+9810,U+982D,U+98A8,U+9996,U+9EDE,U+FF0C}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url('/assets/fonts/inter-site.woff2') format('woff2')}
:root{color-scheme:dark;--bg:#080a0d;--panel:#10151b;--ink:#f2f4f7;--muted:#a9b3bf;--faint:#798593;--blue:#9bccec;--navy:#1f4e79;--line:#2b323b;--gold:#c9b584;--wrap:1320px;--ease:cubic-bezier(.22,.8,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Noto Sans TC Display',sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}img{max-width:100%;display:block}button{background:none;border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.25;letter-spacing:-.045em}h1,h2{font-weight:700}p{color:var(--muted)}ul{padding:0;margin:0;list-style:none}::selection{background:var(--blue);color:var(--bg)}:focus-visible{outline:2px solid var(--blue);outline-offset:6px}[hidden]{display:none!important}.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto}.section{padding:112px 0}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;font-weight:600;color:var(--blue);line-height:1.6;text-transform:uppercase}.eyebrow::before{content:'';width:6px;height:6px;background:var(--blue)}.section-title{font-size:clamp(32px,4vw,56px);margin:22px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-head p{max-width:390px;font-size:15px}.section-head .section-title{margin-bottom:0}.text-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid #667888;padding:10px 0;font-size:14px;white-space:nowrap}.text-link:hover{color:var(--blue);border-color:var(--blue)}.arrow{display:inline-block;font-size:22px;line-height:1;transition:transform .25s}.text-link:hover .arrow,.button:hover .arrow{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:52px;padding:12px 23px;border:1px solid #536170;font-size:14px;font-weight:500;transition:background .2s,color .2s}.button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.button.primary:hover{background:var(--blue);border-color:var(--blue)}.button.outline:hover{background:#ffffff0a;border-color:var(--ink)}.actions{display:flex;gap:16px;flex-wrap:wrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:var(--bg);padding:12px 20px;z-index:100}.skip-link:focus{top:8px}
/* One shared header, with a real mobile navigation. */
.site-header{height:82px;position:fixed;inset:0 0 auto;z-index:30;border-bottom:1px solid #ffffff20;background:#080a0ddb;backdrop-filter:blur(18px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:37px;height:37px;object-fit:contain}.brand-word{font-size:20px;letter-spacing:.2em;font-weight:700}.brand-sub{display:block;font-size:8px;letter-spacing:.31em;color:var(--muted);line-height:1.2;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:13px}.desktop-nav a{padding:12px 0;color:#d1d6dd}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--blue)}.header-contact{font-size:12px;letter-spacing:.04em;border-bottom:1px solid var(--blue);padding:7px 0;white-space:nowrap}.header-contact span{padding-left:22px}.menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-width:48px;min-height:48px;border:1px solid var(--line)}.menu-toggle i{display:block;width:16px;height:10px;border-block:1px solid currentColor}.mobile-menu{position:fixed;inset:82px 0 0;background:#080a0dfa;z-index:29;padding:32px 24px;overflow:auto}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{padding:17px 0;border-bottom:1px solid var(--line);font-size:26px}.mobile-menu p{margin-top:32px;font-size:12px}.mobile-menu small{font-size:11px;letter-spacing:.15em;color:var(--blue);float:right;margin-top:10px}
/* Film portal. Copy is available immediately, independently of media. */
.hero{min-height:740px;height:100svh;max-height:1120px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;padding-top:82px}.hero-art{position:absolute;inset:0;z-index:-3}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:62% center;transform:scale(1.015) translate3d(var(--px,0px),var(--py,0px),0);transition:transform 1.2s var(--ease)}.hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#080a0ddb 0%,#080a0d76 37%,transparent 70%),linear-gradient(0deg,#080a0d 0%,transparent 28%,#080a0d33 100%)}.hero-beam{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.hero-beam::after{content:'';position:absolute;top:-20%;left:-10%;height:160%;width:18%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#bee7ff0a,transparent);animation:light-pass 3.2s var(--ease) 1 both}.hero-copy{padding-block:65px 115px}.hero-copy .eyebrow{color:#d3eafa}.hero h1{font-size:clamp(58px,6.8vw,108px);line-height:1.19;margin:34px 0 24px;font-weight:700;letter-spacing:-.06em;max-width:750px}.hero h1 span{display:block}.hero h1 .second-line{padding-left:.65em}.hero-lead{max-width:435px;color:#c6cdd6;font-size:15px;line-height:1.9;margin-bottom:35px}.hero-caption{position:absolute;bottom:42px;left:0;right:0;display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:18px;color:#acb6c1;font-size:10px;letter-spacing:.12em}.hero-caption strong{font-size:13px;color:var(--ink);font-weight:400;letter-spacing:.03em}.hero-caption .right{text-align:right}.hero-caption .right span{display:block;font-size:10px;margin-top:6px;letter-spacing:.03em}.hero-pause{position:absolute;bottom:105px;right:56px;padding:6px 10px;font-size:11px;color:#cbd5df;border:1px solid #ffffff35}.motion-paused *, .motion-paused *::after{animation-play-state:paused!important}.hero.motion-paused img{transform:none}.hero.motion-paused .hero-beam{display:none}@keyframes light-pass{from{left:-30%;opacity:0}20%{opacity:1}to{left:130%;opacity:0}}
/* Curated projects, deliberately not a wall of identical cards. */
.selected{padding-top:88px}.section-index{font-size:11px;letter-spacing:.12em;color:var(--faint)}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:44px 28px}.project{grid-column:span 6;min-width:0}.project:nth-child(4n+1){grid-column:span 7}.project:nth-child(4n+2){grid-column:span 5}.project:nth-child(4n+3){grid-column:span 5}.project:nth-child(4n+4){grid-column:span 7}.project-link{display:block}.project-visual{position:relative;overflow:hidden;background:#121b24;aspect-ratio:1.85;border:1px solid #ffffff0d}.selected .project-visual{height:330px;aspect-ratio:auto}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .7s;filter:brightness(.92)}.project-link:hover img{transform:scale(1.035);filter:brightness(1.04)}.play-glyph{display:flex;align-items:center;justify-content:center;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:64px;height:64px;background:#07090c50;backdrop-filter:blur(8px);border:1px solid #ffffff60;border-radius:50%;opacity:0;transition:opacity .25s}.play-glyph::before{content:'';border-left:11px solid white;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:4px}.project-link:hover .play-glyph,.project-link:focus-visible .play-glyph{opacity:1}.project-category{position:absolute;top:18px;left:18px;max-width:calc(100% - 36px);font-size:10px;letter-spacing:.13em;background:#080a0dcc;padding:5px 9px;color:#e1e9ee}.project-meta{padding-top:18px;display:flex;gap:20px;justify-content:space-between;align-items:start}.project-title{font-size:21px;font-weight:500;letter-spacing:-.015em;line-height:1.5}.project-meta p{font-size:12px;margin-top:6px}.project-meta .arrow{color:var(--blue);font-size:24px;margin-top:7px;flex-shrink:0}.project-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:9%;background:linear-gradient(135deg,#122434,#080a0d)}.project-fallback small{font-size:10px;letter-spacing:.16em;color:var(--blue);margin-bottom:14px}.project-fallback strong{font-size:clamp(18px,2.2vw,30px);font-weight:500;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-visual:has(img) .project-fallback{display:none}.project-visual.media-failed .project-fallback{display:flex}.project-visual.media-failed img{display:none}.selected-bottom{display:flex;justify-content:center;margin-top:52px}.clients{border-block:1px solid var(--line);padding:40px 0}.clients .wrap{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:center}.clients-heading{font-size:12px;line-height:1.8;color:var(--muted)}.client-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 28px;color:#c6cbd2;font-size:13px}.client-list li{line-height:1.7}
/* Side-by-side imagery is a real range control, including on touch. */
.ai-showcase{position:relative;background:#0c1117}.ai-showcase::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#527899,transparent)}.ai-intro-line{display:flex;gap:20px;align-items:center;margin-bottom:25px}.pill{display:inline-flex;border:1px solid #4f677a;color:#c4e2f7;padding:4px 9px;font-size:10px;letter-spacing:.05em}.compare{position:relative;--split:50%}.compare-stage{aspect-ratio:16/9;position:relative;overflow:hidden;background:#14222c;isolation:isolate}.compare-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-after{clip-path:inset(0 0 0 var(--split))}.compare-line{position:absolute;left:var(--split);inset-block:0;width:1px;background:#f2f4f7;pointer-events:none;filter:drop-shadow(0 0 5px #000)}.compare-line::after{content:'↔';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:50px;height:50px;border:1px solid #eef4f9;border-radius:50%;background:#080a0d88;color:white;font-size:24px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}.compare-stage:focus-within{outline:2px solid var(--blue);outline-offset:5px}.compare-label{position:absolute;top:20px;z-index:2;pointer-events:none;background:#080a0dd9;color:#f5f7fa;font-size:12px;padding:7px 12px}.compare-label.before{left:20px}.compare-label.after{right:20px}.compare-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.compare-controls .buttons{display:flex;gap:6px;flex-wrap:wrap}.compare-controls button{min-height:44px;padding:8px 14px;border:1px solid var(--line);font-size:12px}.compare-controls button:hover{background:#ffffff0b;border-color:#abc2d5}.compare-output{font-size:11px;letter-spacing:.02em;color:var(--muted);text-align:right}.compare-note{font-size:11px;color:var(--muted);margin-top:15px;line-height:1.8}.ai-section-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:30px}.ai-section-footer p{font-size:14px;max-width:520px}
/* Services and craft. */
.services-layout{display:grid;grid-template-columns:4fr 8fr;gap:80px}.services-heading p{max-width:300px;font-size:14px}.service-row{border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row summary{display:grid;grid-template-columns:40px 1fr 30px;align-items:center;gap:16px;list-style:none;padding:26px 0;cursor:pointer}.service-row summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}.service-row summary small{font-size:11px;color:var(--faint)}.service-row h3{font-size:23px;font-weight:500}.service-row summary .plus{font-size:24px;font-weight:300;color:var(--blue)}.service-row[open] summary .plus{transform:rotate(45deg)}.service-content{padding:0 35px 30px 56px;font-size:14px}.service-content p{margin-bottom:12px}.service-content .text-link{font-size:12px}.studio{border-top:1px solid var(--line)}.studio-grid{display:grid;grid-template-columns:5fr 7fr;gap:90px;align-items:center}.portrait{position:relative;background:#10171f;max-width:440px;overflow:hidden;aspect-ratio:4/4.4;clip-path:polygon(0 0,87% 0,100% 12%,100% 100%,0 100%)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:none}.portrait-caption{position:absolute;bottom:0;inset-inline:0;padding:40px 22px 20px;background:linear-gradient(transparent,#080a0deb);font-size:11px;letter-spacing:.1em}.studio-copy h2{font-size:clamp(32px,4vw,52px);line-height:1.4;margin:24px 0}.studio-copy p{max-width:520px;font-size:15px}.director-name{display:flex;align-items:center;gap:20px;margin:28px 0 18px}.director-name h3{font-size:24px;font-weight:500}.director-name span{font-size:10px;letter-spacing:.1em;color:var(--blue)}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.tags span{padding:4px 10px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.process{margin-top:95px}.process-head{display:flex;align-items:center;gap:20px;margin-bottom:28px}.process-head h3{font-size:22px;font-weight:500}.process-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);gap:12px}.process-tabs button{padding:18px 0;text-align:left;border-bottom:2px solid transparent;transition:border .2s}.process-tabs button[aria-selected=true]{border-color:var(--blue)}.process-tabs small{display:block;font-size:11px;letter-spacing:.08em;color:var(--faint);margin-bottom:10px}.process-tabs strong{font-size:16px;font-weight:500}.process-tabs button[aria-selected=true] small{color:var(--blue)}.process-panel{padding:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;min-height:130px}.process-panel p{font-size:14px}.process-panel .delivery{font-size:13px;color:#d1dbe4}.process-panel .delivery small{display:block;color:var(--blue);font-size:10px;letter-spacing:.1em;margin-bottom:5px}
/* FAQ and a single clear inquiry destination. */
.faq{background:#0c1015;border-block:1px solid var(--line)}.faq-layout{display:grid;grid-template-columns:4fr 8fr;gap:80px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;padding:22px 28px 22px 0;position:relative;font-size:15px;line-height:1.7}.faq-item summary::after{content:'+';position:absolute;right:0;top:20px;font-size:22px;color:var(--blue)}.faq-item[open] summary::after{content:'−'}.faq-item p{padding:0 28px 24px 0;font-size:14px;line-height:1.9}.contact{padding-bottom:85px}.contact-title{font-size:clamp(45px,6.5vw,94px);line-height:1.22;margin:22px 0 50px}.contact-title span{color:var(--blue)}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:100px}.contact-copy>p{max-width:340px;font-size:15px}.contact-copy .button{margin:28px 0 32px}.contact-details{display:grid;gap:14px;font-size:14px}.contact-details a:hover{color:var(--blue)}.contact-details span{font-size:10px;letter-spacing:.1em;color:var(--faint);display:block}.contact-details address{font-style:normal;color:var(--muted);font-size:13px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field label{font-size:12px;color:#cbd3dc}.form-field label span{color:var(--blue)}.form-field input,.form-field select,.form-field textarea{width:100%;background:#0e1319;border:1px solid #46505c;border-radius:0;color:var(--ink);min-height:48px;padding:10px 12px;font-size:15px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#8995a2}.form-field.full,.form-submit,.form-status{grid-column:1/-1}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-submit p{font-size:11px;max-width:260px}.form-submit p a{text-decoration:underline}.form-status{font-size:13px}.form-status.error{color:#ffc0b5}.form-status.success{color:#b8e6ce}.hp{position:absolute!important;left:-9999px!important}.site-footer{border-top:1px solid var(--line);padding:34px 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top .brand-word{font-size:17px}.footer-top .brand img{width:29px;height:29px}.footer-links{display:flex;gap:26px;font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--faint);letter-spacing:.04em;margin-top:26px}.footer-bottom a{color:var(--muted)}
/* Works and AI routes. */
.page-intro{padding:160px 0 60px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(48px,7vw,100px);margin:25px 0 28px;line-height:1.05}.page-intro h1 span{color:var(--blue)}.page-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.page-intro-bottom p{max-width:550px;font-size:15px}.page-number{font-size:clamp(52px,7vw,96px);font-weight:400;color:#d3dbe4;line-height:1;letter-spacing:-.08em}.page-number small{font-size:10px;letter-spacing:.18em;display:block;color:var(--faint);margin-top:14px;text-align:right}.library{padding:40px 0 100px}.library-toolbar{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:28px}.search-label{display:flex;align-items:center;gap:12px;max-width:380px;width:100%;font-size:12px;color:var(--muted)}.search-label input{min-width:0;width:100%;border:0;border-bottom:1px solid #56616e;background:transparent;color:var(--ink);font:inherit;font-size:16px;padding:12px 3px}.search-label input::placeholder{color:var(--faint)}.result-count{font-size:12px;color:var(--muted)}.filter-list{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:30px}.filter-list button{min-height:44px;border:1px solid var(--line);font-size:12px;padding:8px 14px}.filter-list button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-list button:hover{border-color:var(--blue)}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.library-grid .project{grid-column:auto}.library-grid .project-title{font-size:14px;line-height:1.8;letter-spacing:0}.library-grid .project-meta{padding-top:12px}.library-grid .project-category{top:10px;left:10px;font-size:9px}.library-grid .project-meta p{font-size:11px}.library-grid .project-meta .arrow{font-size:20px}.library-more{margin-top:45px;text-align:center}.empty-state{padding:80px 20px;text-align:center;border:1px solid var(--line)}.empty-state h2{font-size:24px;margin-bottom:15px}.empty-state button{margin-top:24px}.ai-page-intro{border-bottom:0;padding-bottom:45px}.ai-page-intro h1{font-size:clamp(44px,6.6vw,90px);line-height:1.2}.demo-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:28px;gap:24px}.demo-tabs button{padding:22px 0;text-align:left;border-bottom:2px solid transparent}.demo-tabs button[aria-selected=true]{border-color:var(--blue)}.demo-tabs button small{display:block;font-size:10px;letter-spacing:.11em;color:var(--faint);margin-bottom:9px}.demo-tabs button strong{font-size:18px;font-weight:500}.demo-tabs button[aria-selected=true] small{color:var(--blue)}.demo-description{display:flex;justify-content:space-between;gap:30px;align-items:start;margin:24px 0}.demo-description h2{font-size:25px;font-weight:500;min-width:210px}.demo-description p{font-size:14px;max-width:650px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.benefit{padding-top:25px;border-top:1px solid #6d8293}.benefit .eyebrow{font-size:10px}.benefit h3{font-size:25px;line-height:1.4;margin:23px 0 15px}.benefit p{font-size:14px}.methods{background:#0c1117;border-block:1px solid var(--line)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.method{padding:30px;border:1px solid var(--line)}.method.featured{border-color:#6c9ec4;background:#122131}.method-label{font-size:10px;color:var(--muted);letter-spacing:.1em}.method h3{font-size:28px;margin:17px 0}.method p{font-size:14px}.method ul{margin-top:23px;display:grid;gap:12px}.method li{font-size:13px;color:#cad3dc;padding-left:17px;position:relative}.method li::before{content:'·';position:absolute;left:0;color:var(--blue)}.reference-rates{margin-top:24px;border-bottom:1px solid var(--line)}.reference-rates summary{font-size:13px;cursor:pointer;padding:18px 0}.reference-rates table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}.reference-rates td,.reference-rates th{text-align:left;padding:12px;border:1px solid var(--line);font-weight:400}.reference-rates p{font-size:12px;padding-bottom:20px}.quality-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.quality-list h3{font-size:22px;margin:18px 0 15px}.quality-list p{font-size:14px}.quality-list .number{font-size:12px;color:var(--blue)}.ai-cta{padding:72px 0;background:#142330}.ai-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.ai-cta h2{font-size:clamp(30px,4vw,48px);margin-bottom:16px}.ai-cta p{font-size:14px}.legal{padding:155px 0 95px;max-width:840px}.legal h1{font-size:44px;margin:25px 0}.legal h2{font-size:24px;margin:44px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.legal h3{font-size:18px;margin:25px 0 14px}.legal p,.legal li{font-size:15px;margin-block:12px}.legal ul{list-style:disc;padding-left:22px;color:var(--muted)}.legal a{color:var(--blue);text-decoration:underline}.legal .updated,.legal .subtitle{font-size:12px;color:var(--muted)}.not-found{min-height:82svh;padding-block:180px 100px}.not-found .code{font-size:clamp(100px,20vw,260px);color:var(--blue);line-height:1;letter-spacing:-.08em}.not-found h1{font-size:35px;margin:25px 0}.not-found p{margin-bottom:30px}
/* Dialog uses native modal focus/inert behavior. */
.video-dialog{width:min(1100px,94vw);max-height:94svh;padding:0;background:#10151b;color:var(--ink);border:1px solid #3a4654;overflow:auto}.video-dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px}.dialog-top p{font-size:11px;letter-spacing:.13em}.dialog-close{width:44px;height:44px;font-size:26px;border:1px solid #425162}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{display:block;width:100%;height:100%;border:0}.dialog-bottom{padding:20px 25px 28px;display:flex;justify-content:space-between;gap:25px;align-items:start}.dialog-bottom h2{font-size:17px;letter-spacing:0;line-height:1.6;max-width:760px}.dialog-bottom a{flex-shrink:0;font-size:12px;color:var(--blue);border-bottom:1px solid var(--blue)}.dialog-help{padding:0 25px 22px;font-size:11px}
@media(min-width:1600px){.wrap{width:min(1440px,calc(100% - 160px))}.selected .project-visual{height:400px}.hero-copy{padding-bottom:110px}.hero h1{font-size:112px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:20px}.header-inner{gap:24px}.brand-sub{display:none}.services-layout,.faq-layout{gap:42px;grid-template-columns:3fr 7fr}.studio-grid{gap:45px}.contact-grid{gap:50px}.selected .project-visual{height:280px}.clients .wrap{grid-template-columns:1fr}.client-list{grid-template-columns:repeat(4,1fr)}.section{padding:85px 0}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method{padding:22px}.method h3{font-size:24px}.hero h1{font-size:76px}.hero-art img{object-position:63% center}}
@media(max-width:800px){.site-header{height:72px}.header-inner{gap:16px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex}.mobile-menu{top:72px}.brand-word{font-size:19px}.brand img{width:32px;height:32px}.hero{min-height:760px;padding-top:72px}.hero h1{font-size:70px}.section-head{align-items:start}.services-layout,.faq-layout{grid-template-columns:1fr;gap:34px}.services-heading p{max-width:500px}.studio-grid{gap:35px;grid-template-columns:4fr 6fr}.portrait{aspect-ratio:3/4.7}.studio-copy h2{font-size:34px}.client-list{font-size:12px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.contact-copy>p{grid-column:1}.contact-copy>.button{grid-column:1;justify-self:start}.contact-details{grid-column:2;grid-row:1/3}.contact-title{font-size:62px}.method-grid{grid-template-columns:1fr}.method{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.method ul{grid-column:2;grid-row:1/4;margin-top:0}.benefit-grid,.quality-list{gap:23px}.benefit h3{font-size:21px}.process-tabs{gap:8px}.process-tabs strong{font-size:14px}.process-tabs small{font-size:9px}.hero-caption .right{max-width:240px}.hero-pause{right:32px}.selected .project-visual{height:220px}.project-title{font-size:18px}.footer-links{gap:18px}}
@media(max-width:600px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.section{padding:66px 0}.section-head{flex-direction:column;gap:22px;margin-bottom:30px}.section-head p{max-width:100%;font-size:14px}.section-title{font-size:34px;line-height:1.4;margin-top:16px}.eyebrow{font-size:10px;gap:10px;letter-spacing:.12em}.hero{min-height:740px;height:100svh;max-height:960px;align-items:end}.hero-art img{object-position:50% 38%}.hero::before{background:linear-gradient(0deg,#080a0d 1%,#080a0df2 16%,#080a0d55 65%,#080a0d55)}.hero-copy{padding:210px 0 128px}.hero h1{font-size:clamp(48px,12vw,72px);line-height:1.25;margin:20px 0}.hero h1 .second-line{padding-left:.48em}.hero-lead{font-size:13px;line-height:1.9;max-width:310px;margin-bottom:25px}.hero .actions{gap:12px}.button{min-height:48px;font-size:12px;padding:11px 16px;gap:24px}.hero-caption{bottom:24px;padding-top:14px;gap:20px;font-size:9px}.hero-caption strong{font-size:10px}.hero-caption .right{max-width:140px}.hero-caption .right span{font-size:9px}.hero-pause{bottom:98px;right:20px;font-size:10px}.work-grid{display:block}.project{margin-bottom:32px}.selected .project-visual{height:auto;aspect-ratio:16/10}.project:nth-child(2) .project-visual,.project:nth-child(5) .project-visual{aspect-ratio:16/9}.project-title{font-size:18px}.project-meta{padding-top:13px}.project-meta p{font-size:11px}.project-category{top:12px;left:12px;font-size:9px}.selected-bottom{margin-top:30px}.play-glyph{opacity:1;width:44px;height:44px;inset:auto 14px 14px auto;transform:none}.play-glyph::before{border-left-width:8px;border-block-width:5px}.clients{padding:28px 0}.clients .wrap{gap:22px}.clients-heading{font-size:11px}.client-list{grid-template-columns:repeat(2,1fr);gap:16px 18px;font-size:11px}.ai-intro-line{margin-bottom:18px;gap:10px;flex-wrap:wrap}.compare-stage{aspect-ratio:4/3}.compare-stage img{object-fit:cover;object-position:45% center}.compare-label{font-size:10px;top:12px;padding:5px 8px}.compare-label.before{left:10px}.compare-label.after{right:10px}.compare-line::after{width:44px;height:44px;font-size:20px}.compare-controls{flex-direction:column;align-items:start;gap:12px;padding:14px 0}.compare-controls .buttons{width:100%}.compare-controls button{font-size:11px;flex:1;padding:8px}.compare-output{font-size:10px}.compare-note{font-size:10px}.ai-section-footer{display:block;margin-top:25px}.ai-section-footer p{font-size:13px;margin-bottom:18px}.service-row summary{padding:22px 0;grid-template-columns:25px 1fr 22px;gap:10px}.service-row h3{font-size:20px}.service-content{padding:0 10px 25px 35px;font-size:13px}.studio-grid{grid-template-columns:1fr;gap:34px}.portrait{max-width:100%;width:100%;aspect-ratio:4/3.5}.portrait img{object-position:50% 25%}.studio-copy h2{font-size:34px}.studio-copy p{font-size:14px}.director-name h3{font-size:22px}.process{margin-top:55px}.process-tabs{display:flex;flex-direction:column;border:0;gap:0}.process-tabs button{display:flex;gap:17px;align-items:center;min-height:52px;border-bottom:1px solid var(--line);padding:14px 12px}.process-tabs small{margin:0;font-size:10px;min-width:80px}.process-tabs strong{font-size:15px}.process-tabs button[aria-selected=true]{background:#152230;border-left:2px solid var(--blue);border-bottom-color:var(--line)}.process-panel{display:block;min-height:170px;padding:24px 12px}.process-panel .delivery{margin-top:16px}.faq-item summary{font-size:14px;padding-block:20px}.faq-item p{font-size:13px}.contact-title{font-size:46px;margin:20px 0 32px}.contact-grid{gap:35px}.contact-copy{display:block}.contact-copy .button{margin-block:24px}.contact-details{grid-template-columns:1fr 1fr;gap:20px}.contact-details address{font-size:12px}.contact-details>div:last-child{grid-column:1/-1}.contact-form{gap:17px 14px}.form-field label{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:16px;padding:10px;min-height:48px}.form-submit{flex-direction:column;align-items:stretch;gap:18px}.form-submit p{max-width:none;font-size:11px}.form-submit button{align-self:start;min-width:150px}.site-footer{padding:30px 0}.footer-top{align-items:start;flex-direction:column;gap:28px}.footer-links{flex-wrap:wrap;font-size:11px;gap:22px}.footer-bottom{flex-direction:column;gap:9px;font-size:9px;margin-top:24px}.page-intro{padding:125px 0 35px}.page-intro h1{font-size:52px;line-height:1.14;margin:22px 0}.page-intro-bottom{align-items:start}.page-intro-bottom p{font-size:13px}.page-number{font-size:47px}.page-number small{font-size:8px;letter-spacing:.1em}.library{padding-top:24px}.library-toolbar{gap:16px;flex-wrap:wrap}.search-label{max-width:none}.result-count{font-size:11px}.filter-list{gap:7px;padding-bottom:25px}.filter-list button{font-size:11px;padding:7px 10px;min-height:44px}.library-grid{grid-template-columns:1fr;gap:0}.library-grid .project{margin-bottom:28px}.library-grid .project-title{font-size:14px}.library-grid .project-visual{aspect-ratio:16/9}.ai-page-intro h1{font-size:45px}.demo-tabs{gap:12px;margin-bottom:18px}.demo-tabs button{padding:16px 0}.demo-tabs button small{font-size:8px;letter-spacing:.04em}.demo-tabs button strong{font-size:14px}.demo-description{flex-direction:column;gap:12px;margin:20px 0}.demo-description h2{font-size:22px}.demo-description p{font-size:13px}.benefit-grid,.quality-list{grid-template-columns:1fr;gap:30px}.benefit h3{font-size:24px;margin:16px 0 12px}.benefit p,.quality-list p{font-size:13px}.method{display:block;padding:25px}.method ul{margin-top:20px}.method h3{font-size:26px}.reference-rates table{font-size:11px}.reference-rates td,.reference-rates th{padding:9px 6px}.ai-cta .wrap{flex-direction:column;align-items:start}.ai-cta{padding:55px 0}.ai-cta h2{font-size:32px}.legal{padding-top:125px}.legal h1{font-size:32px}.legal h2{font-size:21px}.legal p,.legal li{font-size:14px}.dialog-top{padding:8px 14px}.dialog-bottom{display:block;padding:18px}.dialog-bottom h2{font-size:14px;margin-bottom:18px}.dialog-help{padding:0 18px 18px}.video-dialog{width:96vw}.empty-state{padding:50px 15px}.not-found{padding-top:140px}.not-found h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art img{transform:none}.hero-beam{display:none}}

.project-visual.image-failed .project-fallback{display:flex;opacity:1}.clear-filters{font-size:12px;color:var(--blue);min-height:44px;padding:10px 0;margin-bottom:10px}.form-status.ok{color:#b6d7bb}.form-status.err{color:#efb4a1}

.search-label>span{white-space:nowrap;flex-shrink:0}.search-label input{min-width:0}

/* Second art direction: an interactive film frame entering digital space. */
.hero-tech{position:absolute;inset:15% 4.3% 19% 44%;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1s}
.ai-mode .hero-tech{opacity:1}.scene-grid{position:absolute;inset:5%;background-image:linear-gradient(#a6dfff20 1px,transparent 1px),linear-gradient(90deg,#a6dfff20 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(135deg,#000b,transparent 65%);transform:perspective(900px) rotateY(-10deg)}
.portal-edge{position:absolute;inset:0;border:1px solid #b1e5ff60;clip-path:polygon(0 0,25% 0,25% 1px,1px 1px,1px 100%,0 100%,0 0,100% 0,100% 100%,75% 100%,75% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 0);box-shadow:inset 0 0 60px #81caff12}
.scene-orbit{position:absolute;right:8%;top:25%;width:170px;aspect-ratio:1;border:1px solid #bcdef13a;border-radius:50%;transform:rotateX(58deg) rotate(-20deg);box-shadow:0 0 40px #b6e7ff12,inset 0 0 40px #b6e7ff12;animation:orbit-breathe 8s ease-in-out infinite}.scene-orbit::before{content:'';position:absolute;inset:15%;border:1px dashed #9bccec66;border-radius:50%}.scene-orbit::after{content:'';position:absolute;inset:-12%;border-top:2px solid #c8e9ff;border-radius:50%;animation:orbit-turn 12s linear infinite}
.scene-tag{position:absolute;font-size:9px;letter-spacing:.19em;line-height:1.7;color:#c4e9ff;text-shadow:0 0 12px #91cbff}.scene-tag.top{top:-24px;right:0}.scene-tag.bottom{bottom:15px;left:18px}.scene-cross{position:absolute;width:15px;height:15px;background:linear-gradient(#d0edff,#d0edff) center/1px 15px no-repeat,linear-gradient(#d0edff,#d0edff) center/15px 1px no-repeat}.scene-cross.one{top:0;left:0}.scene-cross.two{bottom:-7px;right:-7px}
.hero-modes{position:absolute;top:112px;right:4.3%;display:flex;gap:4px;padding:5px;border:1px solid #a9dfff30;background:#080a0d70;backdrop-filter:blur(15px)}.hero-modes button{font-size:11px;color:#a5bacb;padding:9px 14px;min-height:40px;border:1px solid transparent;transition:.3s}.hero-modes button span{font-size:9px;margin-right:8px;opacity:.7}.hero-modes button[aria-pressed=true]{background:#bfe6ff;color:#0b1925;box-shadow:0 0 24px #95caff25}.hero-modes button:hover{border-color:#bfe6ff99}
.ai-mode .hero-art img{filter:contrast(1.06) saturate(.7)}.hero h1 .second-line{color:#d9eeff;text-shadow:0 0 65px #85bcf025}.hero h1{letter-spacing:-.07em}.hero-beam::after{animation:light-pass 8s var(--ease) infinite;background:linear-gradient(90deg,transparent,#bee7ff13,transparent)}
.frame-band{display:flex;align-items:center;gap:45px;overflow:hidden;white-space:nowrap;padding:25px 0 30px;border-block:1px solid #a8d7f126;background:linear-gradient(120deg,#152230,#080a0d 68%);font-size:clamp(40px,6.4vw,100px);font-weight:700;line-height:1.05;letter-spacing:-.05em}.frame-band>span:first-child{margin-left:max(56px,calc((100vw - 1320px)/2))}.frame-band .outline{color:transparent;-webkit-text-stroke:1px #9db7cf73}
.selected{background:radial-gradient(ellipse at 100% 0,#1f4e791c,transparent 50%)}.selected .project:first-child .project-visual{clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,0 100%)}.selected .project:nth-child(even){padding-top:90px}.selected .project:nth-child(3n) .project-category{border-left:2px solid #c2dceb}.project-visual::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #9bccec10;pointer-events:none;transition:box-shadow .4s}.project-link:hover .project-visual::after{box-shadow:inset 0 0 0 1px #b4e5ff80,inset 0 -60px 80px -50px #8dc2ed55}.project-link:hover .project-title{color:var(--blue)}
.ai-showcase{background:radial-gradient(ellipse at 50% 30%,#254e7435,transparent 63%),#0a1017}.compare-stage{box-shadow:0 0 0 1px #9bccec40,0 35px 110px -65px #9edbff80}.compare-line{box-shadow:0 0 20px #93d4ff}.compare-line::after{background:#102c3edb!important;box-shadow:0 0 0 7px #afdfff0b,0 0 25px #bfe6ff35}.compare-controls button[aria-pressed=true]{background:#c7e7fb;color:#07111a;border-color:#c7e7fb}.ai-intro-line .pill{border-color:#a6dfff55;color:#c6e9ff}
.ai-advantages{margin-top:56px;padding-top:32px;border-top:1px solid #8ec1e440}.advantage-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.advantage-heading h3{font-size:22px;font-weight:500;letter-spacing:-.025em}.advantage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px}.advantage-grid article{border-left:1px solid #7690a83d;padding-left:19px}.advantage-symbol{display:flex;justify-content:space-between;align-items:center;color:#a9d9f7;margin-bottom:24px}.advantage-symbol svg{width:26px;height:28px}.advantage-symbol small{font-size:10px;color:#6d8ba2}.advantage-grid h3{font-size:16px;font-weight:500;letter-spacing:-.02em;margin-bottom:12px}.advantage-grid p{font-size:12px;line-height:1.9}.advantage-note{font-size:10px!important;color:#8a9fad;margin-top:25px}.studio{background:radial-gradient(ellipse at 10% 15%,#2144653d,transparent 50%),#0c1117}.portrait{border-bottom:1px solid #8ac5ee80}.studio-copy h2{color:#e0effa}.process-tabs button[aria-selected=true]{box-shadow:0 -15px 35px -25px #99cfff;background:linear-gradient(0deg,#18334b7d,transparent)}
@keyframes orbit-breathe{0%,100%{opacity:.4;transform:rotateX(58deg) rotate(-20deg) scale(.9)}50%{opacity:1;transform:rotateX(58deg) rotate(5deg) scale(1.03)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.hero-tech{right:max(80px,calc((100vw - 1440px)/2));left:46%}.hero-modes{right:max(80px,calc((100vw - 1440px)/2))}.scene-orbit{width:220px}}
@media(max-width:1100px){.hero-tech{left:47%;right:32px;top:21%;bottom:25%}.hero-modes{right:32px;top:100px}.advantage-grid{gap:14px}.advantage-grid article{padding-left:12px}.advantage-grid h3{font-size:15px}.selected .project:nth-child(even){padding-top:50px}}
@media(max-width:800px){.hero-tech{left:35%;top:22%;bottom:32%;right:32px}.scene-orbit{width:135px;right:9%;top:16%}.scene-tag.bottom{display:none}.hero-modes{top:92px}.frame-band{font-size:50px;gap:26px}.frame-band>span:first-child{margin-left:32px}.advantage-heading{display:block}.advantage-heading h3{margin-top:16px}.advantage-grid{grid-template-columns:repeat(3,1fr);gap:30px 20px}}
@media(max-width:600px){.hero-tech{inset:175px 26px auto 66px;height:240px}.scene-grid{background-size:30px 30px;mask-image:linear-gradient(135deg,#0008,transparent 90%)}.scene-orbit{width:90px;top:25%;right:12%}.scene-tag.top{font-size:7px;top:-20px}.hero-modes{top:88px;right:20px;padding:3px}.hero-modes button{padding:5px 9px;font-size:10px;min-height:36px}.hero-modes button span{margin-right:4px;font-size:8px}.hero h1 .second-line{text-shadow:0 0 40px #b1dfff20}.frame-band{padding:21px 0;font-size:36px;gap:25px}.frame-band>span:first-child{margin-left:20px}.selected .project:nth-child(even){padding-top:0}.selected .project:first-child .project-visual{clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.ai-advantages{margin-top:38px;padding-top:27px}.advantage-heading{margin-bottom:27px}.advantage-heading h3{font-size:22px;max-width:240px;line-height:1.6}.advantage-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}.advantage-grid article{padding-left:12px}.advantage-grid article:last-child{grid-column:1/-1;display:grid;grid-template-columns:32px 1fr;gap:0 17px}.advantage-grid article:last-child .advantage-symbol{grid-row:1/3;display:block}.advantage-grid article:last-child small{display:block;margin-top:10px}.advantage-grid article:last-child h3{grid-column:2;margin-bottom:7px}.advantage-grid article:last-child p{grid-column:2}.advantage-grid h3{font-size:15px}.advantage-grid p{font-size:12px}.advantage-symbol{margin-bottom:17px}}
@media(prefers-reduced-motion:reduce){.hero-tech *,.hero-tech *::after,.hero-beam::after{animation:none!important}.hero-tech,.hero-art img{transition:none!important}.scene-orbit{opacity:.55}.hero-beam{display:none}}

.hero-beam::after{left:-30%;will-change:transform;transform:translateX(0) rotate(24deg)}@keyframes light-pass{0%{transform:translateX(0) rotate(24deg);opacity:0}20%{opacity:1}100%{transform:translateX(900%) rotate(24deg);opacity:0}}

.hero,.site-header,.mobile-menu,.page-intro{font-family:Inter,'Noto Sans TC Display',sans-serif}

body.content-fonts{font-family:Inter,'Noto Sans TC Display','Noto Sans TC',sans-serif}

/* Original YESIANG logo opening, restored at the owner’s request. */
  .splash{
    position:fixed;inset:0;z-index:9999;width:100%;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#f2f4f7;
    background:
      radial-gradient(800px 500px at 50% 50%, rgba(22,58,92,.18), transparent 60%),
      #000;
    display:none;align-items:center;justify-content:center;
    animation:splashOut .8s cubic-bezier(.77,0,.18,1) 3.6s forwards;
  }
  .splash[open]{display:flex}
  .splash::backdrop{background:#000}
  .splash::before,
  .splash::after{
    content:"";position:absolute;left:50%;top:50%;
    width:1px;height:1px;background:rgba(168,196,221,.5);
    transform:translate(-50%,-50%);
    animation:splashRing 2s ease-out .3s forwards;
  }
  .splash::after{animation-delay:.7s;animation-duration:1.8s;}
  @keyframes splashRing{
    0%  {width:1px;height:1px;opacity:0;border-radius:50%;box-shadow:0 0 0 1px rgba(168,196,221,.6);}
    30% {opacity:.6;}
    100%{width:340px;height:340px;opacity:0;border-radius:50%;box-shadow:0 0 0 1px rgba(168,196,221,0);}
  }
  .splash-logo{
    position:relative;
    width:min(340px,92vw);height:min(340px,92vw);
    display:flex;align-items:center;justify-content:center;
    clip-path:polygon(0 0, 0 0, 0 100%, 0 100%);
    animation:
      splashReveal 2.2s cubic-bezier(.77,0,.18,1) .3s forwards,
      splashPulse 1s cubic-bezier(.4,0,.2,1) 2.6s;
    opacity:0;
    -webkit-mask-image:radial-gradient(circle at center, #000 35%, transparent 85%);
            mask-image:radial-gradient(circle at center, #000 35%, transparent 85%);
  }
  .splash-logo img{
    display:block;width:200px;height:200px;object-fit:contain;
    user-select:none;-webkit-user-drag:none;
    filter:
      drop-shadow(0 0 10px rgba(200,225,255,.6))
      drop-shadow(0 0 30px rgba(168,196,221,.45))
      drop-shadow(0 0 60px rgba(22,58,92,.3));
  }
  .splash-caption{
    position:absolute;left:50%;bottom:22%;transform:translateX(-50%);
    font-weight:700;font-size:12px;letter-spacing:.5em;
    background:linear-gradient(90deg,#C8A653,#E5CE8E 30%,#fff 50%,#E5CE8E 70%,#C8A653);
    background-size:200% 100%;background-position:100% 0;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    opacity:0;
    animation:splashCaption 1.2s ease 1.8s forwards, splashShimmer 2.8s linear 1.8s infinite;
    white-space:nowrap;
  }
  @keyframes splashReveal{
    0%  {clip-path:polygon(0 0, 0 0, 0 100%, 0 100%); opacity:0;}
    8%  {opacity:1;}
    100%{clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%); opacity:1;}
  }
  @keyframes splashPulse{
    0%  {transform:scale(1);   filter:drop-shadow(0 0 24px rgba(22,58,92,.55));}
    50% {transform:scale(1.08);filter:drop-shadow(0 0 50px rgba(168,196,221,.95));}
    100%{transform:scale(1);   filter:drop-shadow(0 0 24px rgba(22,58,92,.55));}
  }
  @keyframes splashCaption{
    from{opacity:0;transform:translate(-50%,8px);}
    to  {opacity:.85;transform:translate(-50%,0);}
  }
  @keyframes splashShimmer{
    0%  {background-position:100% 0;}
    100%{background-position:-100% 0;}
  }
  @keyframes splashOut{
    to{opacity:0;visibility:hidden;pointer-events:none;}
  }
  body.splash-active{overflow:hidden;}
  .splash-skip{position:absolute;right:max(24px,4vw);bottom:36px;min-height:44px;padding:10px 16px;border:1px solid #6e8295;font-size:12px;letter-spacing:.04em;color:#d4e3f0}
  .splash-skip:hover{background:#c7e7fb;color:#09121b}
  .intro-replay{position:absolute;bottom:105px;left:max(56px,calc((100vw - 1320px)/2));font-size:11px;min-height:36px;padding:6px 0;color:#cbd5df;border-bottom:1px solid #ffffff45}
  @media (prefers-reduced-motion:reduce){
    .splash{animation-delay:.2s;animation-duration:.3s;}
    .splash-logo{animation:none;clip-path:none;opacity:1;}
    .splash::before,.splash::after,.splash-caption{display:none;}
  }

/* An editorial service desk: image, open notes and deliberately varied scales. */
.service-studio{background:#0b0e12;position:relative;overflow:clip}
.service-studio::before{content:'CRAFT /';position:absolute;top:-20px;right:-20px;color:#ffffff03;font-size:clamp(140px,25vw,460px);font-weight:800;line-height:1;letter-spacing:-.08em;pointer-events:none}
.services-heading{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:0 50px;align-items:end;margin-bottom:54px}
.services-heading .eyebrow{grid-column:1/-1}.services-heading .section-title{font-size:clamp(38px,4.6vw,68px);margin-bottom:0}.services-heading .section-title span{color:#9db6c9;font-weight:400}.services-heading p{max-width:none;font-size:14px;padding-bottom:6px}
.service-studio .services-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:7%;align-items:start}
.service-screen{position:sticky;top:120px;padding-top:15px;transform:rotate(-2deg)}
.service-screen-top{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;color:#8aabbf;font-size:9px;letter-spacing:.13em}
.service-screen-top>span:last-child{font-size:22px}.service-frames{position:relative;background:#142532;aspect-ratio:4/4.5;box-shadow:22px 22px 0 -1px #0b0e12,22px 22px 0 0 #536b7f38}
.service-frame{position:absolute;inset:0;overflow:hidden;animation:service-frame-in .5s var(--ease)}
.service-frame img{width:100%;height:100%;object-fit:cover}.service-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#03090ef5,transparent 65%)}
.service-frame figcaption{position:absolute;z-index:1;inset:auto 24px 25px;display:grid;gap:10px}.service-frame figcaption span{font-size:10px;letter-spacing:.13em;color:#c9e8fc}.service-frame figcaption strong{font-size:30px;font-weight:500;letter-spacing:-.03em}.service-frame figcaption small{font-size:10px;color:#c0ccd6;line-height:1.6}
.service-screen-note{font-size:11px;color:#94a7b7;padding:38px 0 0;display:flex;justify-content:space-between}.service-screen-note span{font-size:20px;line-height:1}
.service-studio .service-row{transition:background .3s,border-color .3s}.service-studio .service-row summary{padding:22px 16px 22px 0;grid-template-columns:28px 1fr 28px;gap:18px}.service-english{display:block;font-size:9px;letter-spacing:.16em;color:#839dad;margin-bottom:7px}.service-studio .service-row h3{font-size:clamp(21px,2.3vw,34px)}.service-studio .service-row[open]{border-top-color:#b7d9ec;background:linear-gradient(100deg,#27435b30,transparent)}.service-studio .service-row[open] summary .plus{transform:rotate(90deg);color:#e8f7ff}.service-studio .service-row[open] h3{color:#cceaff}.service-studio .service-row[open] summary{padding-left:14px}.service-studio .service-content{padding:0 24px 28px 60px}.service-studio .service-content p{font-size:13px}.service-studio .service-content .text-link{margin-top:5px}.service-studio .service-row summary:focus-visible{outline-offset:-3px}
@keyframes service-frame-in{from{opacity:.35;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}

/* A flexible project conversation, with a complete native form as its fallback. */
.contact-brief{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 50%,#234f6e38,transparent 58%),#090d12;padding-block:95px}
.contact-heading{position:relative;padding-bottom:55px}.contact-brief .contact-title{font-size:clamp(50px,7.2vw,108px);letter-spacing:-.065em;margin:28px 0 0;line-height:1.15}.contact-brief .contact-title span{font-weight:400;color:#d1e8f6}.contact-scribble{position:absolute;right:3%;bottom:68px;transform:rotate(-9deg);font-size:clamp(20px,2.6vw,38px);font-weight:600;line-height:1.02;letter-spacing:-.045em;color:#486f8b}.contact-scribble em{display:inline-block;font-size:.65em;font-weight:400;color:#9ec9e5;border-bottom:1px solid #9ec9e5;padding-block:6px}
.contact-brief .contact-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:8%;align-items:start}.contact-brief .contact-copy{padding-top:28px;display:block}.contact-kicker{display:block;color:#e0ecf4;font-size:18px;margin-bottom:14px}.contact-brief .contact-copy>p{font-size:14px;line-height:2}
.contact-line{display:flex;align-items:center;justify-content:space-between;gap:16px;border-block:1px solid #6b93af52;padding:22px 0;margin:32px 0;color:#adc5d6;transition:color .25s}.contact-line>span{font-size:11px}.contact-line strong{display:block;color:#e5f3fb;font-weight:500;font-size:18px;margin-top:4px}.contact-line>.arrow{border:1px solid #57778e;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;transition:transform .25s,background .25s}.contact-line:hover>.arrow{transform:rotate(45deg);background:#b9ddf2;color:#0a1420}.contact-brief .contact-details{display:grid;gap:20px}.contact-brief .contact-details span{font-size:9px;color:#8ba3b7}
.contact-brief .contact-form{display:block;min-width:0;position:relative;padding:30px 38px;background:linear-gradient(140deg,#172632,#0c141cd9 72%);border-top:1px solid #a6c8dfaa;box-shadow:0 25px 90px #0004}
.contact-brief .contact-form::before{content:'';position:absolute;top:-1px;left:0;width:15%;height:2px;background:#d7edf9;box-shadow:0 0 20px #c5e9ff80;transition:width .35s}.contact-form[data-active-step='1']::before{width:66%}.contact-form[data-active-step='2']::before{width:100%}
.brief-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.brief-topline>span{font-size:9px;letter-spacing:.13em;color:#a3bccc}.brief-mode{font-size:11px;min-height:40px;color:#c8dfed;text-decoration:underline;text-underline-offset:5px;flex-shrink:0}
.brief-progress{display:flex;gap:24px;margin-bottom:30px;border-bottom:1px solid #ffffff15}.brief-progress button{font-size:11px;padding:9px 0 14px;color:#8eabba;position:relative;text-align:left;min-height:44px}.brief-progress button>span{font-size:10px;margin-right:7px;color:#658296}.brief-progress button[aria-current=step]{color:#e2f2fb}.brief-progress button[aria-current=step]::after{content:'';height:2px;position:absolute;inset:auto 0 -1px;background:#b8e1fb}.brief-progress button[aria-current=step]>span{color:#d2eafa}
.brief-step{border:0;margin:0;padding:0;min-width:0}.brief-step+.brief-step{margin-top:38px}.wizard .brief-step{min-height:370px;margin-top:0}.brief-step legend{padding:0;margin-bottom:20px;font-size:28px;font-weight:500;line-height:1.45;letter-spacing:-.035em;width:100%}.brief-step legend>span{display:block;font-size:9px;letter-spacing:.12em;color:#789db5;margin-bottom:9px;font-weight:400}.brief-hint{font-size:12px;margin-top:-9px;margin-bottom:24px;color:#a8b9c7}
.brief-choices{display:flex;flex-wrap:wrap;gap:11px}.brief-choice{position:relative;cursor:pointer}.brief-choice input{position:absolute;width:1px;height:1px;opacity:0}.brief-choice>span{display:flex;gap:23px;justify-content:space-between;align-items:center;min-height:51px;padding:12px 17px;border:1px solid #567084;border-radius:28px;color:#c6d7e3;font-size:13px;transition:background .2s,color .2s,border-color .2s}.brief-choice i{font-style:normal;opacity:.5}.brief-choice input:checked+span{background:#c7e6f7;border-color:#c7e6f7;color:#091925}.brief-choice input:checked+span i{opacity:1}.brief-choice input:focus-visible+span{outline:2px solid #d7edfa;outline-offset:4px}.brief-choice:hover>span{border-color:#c1dff1}.brief-direction{font-size:12px;line-height:1.9;margin-top:25px;padding-left:13px;border-left:2px solid #709cb9;color:#b2c9d9;max-width:470px}
.brief-fields,.brief-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-brief .form-field{gap:6px}.contact-brief .form-field input,.contact-brief .form-field select,.contact-brief .form-field textarea{background:#09121b40;border:0;border-bottom:1px solid #7890a1;padding:10px 2px;transition:border-color .2s,background .2s}.contact-brief .form-field input:focus,.contact-brief .form-field select:focus,.contact-brief .form-field textarea:focus{outline:0;border-color:#d8f0ff;background:#c5e3f408}.contact-brief .form-field textarea{padding:12px;border:1px solid #6b8598;border-radius:3px;min-height:122px;resize:vertical}.contact-brief .form-field label{font-size:12px}.contact-brief .budget-field{max-width:300px;margin-top:22px}.contact-brief select option{background:#101b24;color:#e2f0fa}
.brief-extras{margin-top:22px;border-bottom:1px solid #49607250}.brief-extras summary{list-style:none;cursor:pointer;padding:12px 0;font-size:12px;color:#b5cdda;display:flex;gap:20px;justify-content:space-between}.brief-extras summary::-webkit-details-marker{display:none}.brief-extras summary>span{color:#8babbe;font-size:10px;white-space:nowrap}.brief-extra-grid{grid-template-columns:1fr;padding:13px 0 20px;gap:16px}.brief-summary{font-size:11px;line-height:1.8;margin-top:23px;color:#a8c8dc;border-left:2px solid #6e99b7;padding-left:12px}
.brief-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;border-top:1px solid #526b7d50;padding-top:24px;margin-top:25px}.brief-actions .button{min-width:190px;border-radius:2px;background:#c7e6f7;border-color:#c7e6f7}.brief-actions .button:hover{background:#e6f6ff}.brief-back{font-size:12px;min-height:44px;margin-right:auto;padding:8px 0;color:#b1c9d9}.brief-privacy{font-size:10px;line-height:1.8;margin-top:18px;color:#8ca9bd;text-align:right}.brief-privacy a{color:#b1cfe3;text-decoration:underline;text-underline-offset:3px}.contact-brief .form-status{margin-top:16px;line-height:1.9}.contact-brief .form-status:empty{display:none}.contact-form[aria-busy=true]{opacity:.8}.contact-form[aria-busy=true] .brief-actions{cursor:wait}
@media(min-width:1600px){.intro-replay{left:max(80px,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.intro-replay{left:32px}.service-studio .services-layout{gap:6%;grid-template-columns:minmax(0,4fr) minmax(0,6fr)}.contact-brief .contact-grid{gap:5%;grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.contact-brief .contact-form{padding:26px}.brief-step legend{font-size:25px}.brief-progress{gap:19px}.brief-choice>span{gap:16px}.contact-scribble{right:0}}
@media(max-width:800px){.services-heading{grid-template-columns:1fr;gap:24px}.services-heading .section-title{font-size:42px;margin:0}.service-studio .services-layout{grid-template-columns:1fr}.service-screen{position:relative;top:auto;transform:none;max-width:100%;margin-bottom:35px}.service-frames{aspect-ratio:16/9;box-shadow:12px 12px 0 -1px #0b0e12,12px 12px 0 0 #536b7f38}.service-frame img{object-position:center 35%}.service-screen-note{padding-top:25px}.service-studio .service-row h3{font-size:25px}.service-studio .service-row summary{padding-block:20px}.contact-brief .contact-grid{grid-template-columns:1fr;gap:45px}.contact-brief .contact-form{grid-row:1}.contact-brief .contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;padding-top:0}.contact-kicker,.contact-brief .contact-copy>p,.contact-line{grid-column:1}.contact-brief .contact-details{grid-column:2;grid-row:1/4}.contact-scribble{font-size:25px;bottom:57px}.contact-brief .contact-title{font-size:65px}.brief-step legend{font-size:30px}.wizard .brief-step{min-height:330px}.brief-choice>span{padding-inline:20px}.brief-privacy{text-align:left}}
@media(max-width:600px){.intro-replay{bottom:98px;left:20px;font-size:10px;max-width:180px}.splash-logo img{width:170px;height:170px}.splash-caption{font-size:10px;letter-spacing:.38em;bottom:24%}.splash-skip{bottom:28px;right:20px}.services-heading{gap:21px;margin-bottom:30px}.services-heading .section-title{font-size:34px}.services-heading p{font-size:13px}.service-screen{margin-bottom:28px}.service-screen-top{font-size:8px;padding-bottom:7px}.service-frames{aspect-ratio:4/3}.service-frame figcaption{inset:auto 18px 18px;gap:6px}.service-frame figcaption strong{font-size:25px}.service-frame figcaption small{font-size:9px}.service-frame figcaption span{font-size:8px}.service-studio .service-row summary{grid-template-columns:21px 1fr 24px;gap:12px;padding-block:18px}.service-studio .service-row h3{font-size:22px}.service-studio .service-row[open] summary{padding-left:10px}.service-studio .service-content{padding:0 14px 23px 43px}.service-english{font-size:8px}.service-studio .service-content p{font-size:12px}.contact-brief{padding-block:65px}.contact-heading{padding-bottom:33px}.contact-brief .contact-title{font-size:clamp(40px,10.9vw,60px);margin-top:23px}.contact-heading>.eyebrow{font-size:8px;letter-spacing:.1em}.contact-scribble{position:relative;display:block;inset:auto;transform:rotate(-6deg);margin:22px 0 0 auto;width:155px;font-size:19px}.contact-brief .contact-form{padding:23px 20px;margin-inline:-6px}.brief-topline{gap:7px;margin-bottom:13px}.brief-topline>span{font-size:7px;letter-spacing:.06em}.brief-mode{font-size:10px;padding-inline:0}.brief-progress{gap:0;justify-content:space-between;margin-bottom:25px}.brief-progress button{font-size:10px}.brief-progress button>span{font-size:9px;margin-right:5px}.brief-step legend{font-size:24px;margin-bottom:18px}.brief-step legend>span{font-size:8px}.brief-hint{font-size:11px;line-height:1.8;margin-bottom:19px}.brief-choices{gap:10px 9px}.brief-choice>span{font-size:12px;padding:10px 13px;min-height:46px;gap:14px}.brief-direction{font-size:11px;margin-top:23px}.wizard .brief-step{min-height:350px}.brief-fields{gap:19px 17px}.brief-fields>.form-field{grid-column:1/-1}.contact-brief .form-field label{font-size:11px}.contact-brief .form-field input,.contact-brief .form-field select,.contact-brief .form-field textarea{font-size:16px}.brief-actions{gap:15px;margin-top:25px;padding-top:20px}.brief-actions .button{min-width:170px;padding-inline:16px;gap:17px}.brief-back{font-size:11px}.brief-privacy{font-size:9px}.contact-brief .contact-copy{display:block}.contact-kicker{font-size:18px}.contact-brief .contact-copy>p{font-size:13px}.contact-line{margin-block:23px}.contact-brief .contact-details{grid-template-columns:1fr 1fr;gap:22px}.contact-brief .contact-details>div:last-child{grid-column:1/-1}.contact-brief .contact-details a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.splash[open]{animation:none}.splash-logo{animation:none;clip-path:none;opacity:1}.service-frame{animation:none}.contact-line>.arrow{transition:none}}

/* The original 15-second brand film is the default homepage opening. */
.hero-film{position:absolute;inset:0 0 0 22%;z-index:-3;overflow:hidden;background:#111418;mask-image:linear-gradient(90deg,transparent,#000 24%)}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .3s}
.hero.video-mode::before{background:linear-gradient(90deg,#080a0df7 0%,#080a0de8 27%,#080a0da3 43%,#080a0d26 70%,#080a0d19),linear-gradient(0deg,#080a0d 0%,#080a0d30 30%,transparent 55%,#080a0d45)}
.hero.video-mode .hero-beam,.hero.video-mode .hero-tech{display:none}
.hero-media-controls{position:absolute;right:56px;bottom:105px;display:flex;gap:8px;align-items:center}
.hero-media-controls .hero-pause,.hero-video-replay{position:static;min-height:36px;padding:6px 10px;font-size:11px;color:#d2e1ec;border:1px solid #ffffff55;background:#080a0d60}
.hero-media-controls button:hover{background:#d6eaf8;color:#08101a}.hero-video-replay:focus-visible,.hero-pause:focus-visible{outline-offset:3px}
.hero-video-help{font-size:10px;max-width:240px;color:#bed1de;line-height:1.5;position:absolute;right:0;bottom:46px;text-align:right}
.hero.video-mode .hero-copy .eyebrow{color:#c6dded}
@media(min-width:1600px){.hero-media-controls{right:max(80px,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.hero-media-controls{right:32px}.hero-film{left:12%}}
@media(max-width:800px){.hero.video-mode{min-height:1000px;align-items:end}.hero-film{inset:72px 0 auto;height:400px;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}.hero.video-mode .hero-copy{padding-top:350px;padding-bottom:150px}.hero.video-mode h1{font-size:64px}.hero.video-mode::before{background:linear-gradient(0deg,#080a0d 0%,#080a0d 47%,#080a0dda 57%,#080a0d26 80%,#080a0d40 100%)}}
@media(max-width:600px){.hero.video-mode{min-height:830px;max-height:1120px}.hero-film{inset:72px 0 auto;height:360px}.hero-video{object-fit:cover}.hero.video-mode::before{background:linear-gradient(0deg,#080a0d 0%,#080a0d 47%,#080a0dda 57%,#080a0d26 80%,#080a0d40 100%)}.hero.video-mode .hero-copy{padding-top:300px;padding-bottom:138px}.hero.video-mode h1{font-size:clamp(45px,11.9vw,66px)}.hero-media-controls{right:20px;bottom:98px;gap:7px}.hero-media-controls .hero-pause,.hero-video-replay{font-size:10px;padding:6px 8px}.hero-media-controls .hero-pause{min-width:68px}.intro-replay{font-size:9px;max-width:115px}.hero-video-help{font-size:9px;max-width:185px}.hero.video-mode .hero-modes{background:#080a0d99}}

/* Vertical (9:16) client films: the whole frame stays visible. Landscape films are unchanged. */
.project-visual[data-aspect="9:16"]{background:#06090c}.project-visual[data-aspect="9:16"] .project-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) brightness(.42);transform:scale(1.2)}.project-visual[data-aspect="9:16"] .project-cover{position:relative;object-fit:contain;filter:none}.project-link:hover .project-visual[data-aspect="9:16"] .project-cover{transform:scale(1.02);filter:none}.project-format{position:absolute;top:18px;right:18px;font-size:10px;letter-spacing:.12em;background:#080a0dcc;padding:5px 9px;color:#e1e9ee}.library-grid .project-format{top:10px;right:10px;font-size:9px}
.video-dialog[data-aspect="9:16"] .video-frame{aspect-ratio:9/16}
@media(min-width:801px),(orientation:landscape){.video-dialog[open][data-aspect="9:16"]{--frame-h:min(82svh,calc(94svh - 80px));width:min(calc(var(--frame-h) * 9 / 16 + 340px),94vw);display:grid;grid-template-columns:calc(var(--frame-h) * 9 / 16) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;overflow:auto}.video-dialog[open][data-aspect="9:16"] .dialog-top{grid-column:1/-1}.video-dialog[open][data-aspect="9:16"] .video-frame{grid-column:1;grid-row:2/4;width:100%;height:var(--frame-h)}.video-dialog[open][data-aspect="9:16"] .dialog-bottom{grid-column:2;grid-row:2;display:block;align-self:end;padding:28px 28px 12px}.video-dialog[open][data-aspect="9:16"] .dialog-bottom h2{font-size:16px;margin-bottom:20px}.video-dialog[open][data-aspect="9:16"] .dialog-help{grid-column:2;grid-row:3;padding:0 28px 28px}}
/* Portrait phones and tablets: the frame leaves room (8rem) for the title and the YouTube link below it; --top is the bar plus borders. */
@media(max-width:800px) and (orientation:portrait){.video-dialog[data-aspect="9:16"]{--top:78px;width:min(96vw,calc((94svh - var(--top) - 8rem) * 9 / 16))}.video-dialog[data-aspect="9:16"] .dialog-bottom{display:block;padding:12px 16px}.video-dialog[data-aspect="9:16"] .dialog-bottom h2{font-size:14px;margin-bottom:8px}}
@media(max-width:600px) and (orientation:portrait){.video-dialog[data-aspect="9:16"]{--top:62px}}
/* Replay icon drawn with a mask: the arrow has no glyph in Inter or Noto Sans TC. */
.hero-video-replay::after{content:'';display:inline-block;width:1.1em;height:1.1em;margin-left:.4em;vertical-align:-.2em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4v6h6'/%3E%3Cpath d='M3.5 15a9 9 0 1 0 2.1-9.4L3 10'/%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' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4v6h6'/%3E%3Cpath d='M3.5 15a9 9 0 1 0 2.1-9.4L3 10'/%3E%3C/svg%3E") center/contain no-repeat}
