diff --git a/tests/branding-v1774.mjs b/tests/branding-v1774.mjs
new file mode 100644
index 0000000..7c2d082
--- /dev/null
+++ b/tests/branding-v1774.mjs
@@ -0,0 +1,12 @@
+import fs from 'node:fs';
+const index=fs.readFileSync('public/index.html','utf8');
+const manifest=JSON.parse(fs.readFileSync('public/manifest.webmanifest','utf8'));
+let bad=0;const check=(v,m)=>{console.log(`${v?'OK':'FAIL'}: ${m}`);if(!v)bad++};
+check(index.includes('
Caterium'),'browser title uses Caterium');
+check(index.includes(''),'Apple PWA title uses Caterium');
+check(index.includes('☼Caterium
'),'visible header uses Caterium');
+check(!index.includes('Солнце Кейтеринг'),'legacy browser title is removed');
+check(!index.includes(''),'legacy Apple PWA title is removed');
+check(manifest.name==='Caterium'&&manifest.short_name==='Caterium','manifest identity uses Caterium');
+check(String(manifest.description||'').includes('Caterium')&&!String(manifest.description||'').includes('Солнце Кейтеринг'),'manifest description uses Caterium');
+if(bad)process.exit(1);